Generated Negative Samples (Label 0) - Total 4068 Pairs

These pairs represent functions from different clone groups (different logic).

Pair #1 Negative (Non-Clone)
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #2 Negative (Non-Clone)
ID: 2540_2115
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findJavaRouteBuilderClasses(Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project)
    public static void findJavaRouteBuilderClasses(
            Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project) {
        if (includeJava) {
            for (String dir : project.getCompileSourceRoots()) {
                FileUtil.findJavaFiles(new File(dir), javaFiles);
            }
            if (includeTest) {
                for (String dir : project.getTestCompileSourceRoots()) {
                    FileUtil.findJavaFiles(new File(dir), javaFiles);
                }
            }
        }
    }
ID: 2521_2077
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyHttpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyHttpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyHttpComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyHttpComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyHttpComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyHttpComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyHttpComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyHttpComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyHttpComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyHttpComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyHttpComponent) component).setClientMode((boolean) value); return true;
            case "muteException": ((NettyHttpComponent) component).setMuteException((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyHttpComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyHttpComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyHttpComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyHttpComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyHttpComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyHttpComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyHttpComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyHttpComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyHttpComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyHttpComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyHttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyHttpComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyHttpComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyHttpComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyHttpComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyHttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyHttpComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "headerFilterStrategy": ((NettyHttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyHttpComponent) component).setNativeTransport((boolean) value); return true;
            case "nettyHttpBinding": ((NettyHttpComponent) component).setNettyHttpBinding((org.apache.camel.component.netty.http.NettyHttpBinding) value); return true;
            case "options": getOrCreateConfiguration((NettyHttpComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyHttpComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyHttpComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyHttpComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyHttpComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyHttpComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyHttpComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyHttpComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyHttpComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyHttpComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyHttpComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyHttpComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyHttpComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyHttpComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyHttpComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyHttpComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityConfiguration": ((NettyHttpComponent) component).setSecurityConfiguration((org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyHttpComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyHttpComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyHttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyHttpComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyHttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
Pair #3 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
Pair #4 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #5 Negative (Non-Clone)
ID: 3250_2595
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteConfigurationRefs()
    protected void initRouteConfigurationRefs() throws Exception {
         
        if (getRouteConfigurationRefs() != null) {
            for (RouteConfigurationContextRefDefinition ref : getRouteConfigurationRefs()) {
                List<RouteConfigurationDefinition> defs = ref.lookupRouteConfigurations(getContext());
                for (RouteConfigurationDefinition def : defs) {
                    LOG.debug("Adding route configuration from {} -> {}", ref, def);
                    getRouteConfigurations().add(def);
                }
            }
        }
    }
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
Pair #6 Negative (Non-Clone)
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 3228_2522
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.skipExpression(final String expression, final int number)
    public static Expression skipExpression(final String expression, final int number) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return skipIteratorExpression(exp, number).evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "skip(" + expression + "," + number + ")";
            }
        };
    }
Pair #7 Negative (Non-Clone)
ID: 617_556
ClassID: 617
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.buildProducer()
    protected GenericFileProducer<FTPFile> buildProducer() {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new RemoteFileProducer<>(this, createRemoteFileOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
ID: 2094_1687
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivityVerbose()
    public String getLastFtpActivityVerbose() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastVerboseLogActivity();
            if (log != null) {
                long since = listener.getLastVerboseLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
Pair #8 Negative (Non-Clone)
ID: 235_292
ClassID: 235
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files)
    protected boolean isMatched(Supplier<GenericFile<SftpRemoteFile>> file, String doneFileName, SftpRemoteFile[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (SftpRemoteFile f : files) {
            if (f.getFilename().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 3251_2598
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.getObject()
    public TrustManagersParameters getObject() throws Exception {
        if (isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
Pair #9 Negative (Non-Clone)
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
Pair #10 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 1204_1031
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetHistory(Exchange exchange, AsyncCallback callback)
    private void doGetHistory(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .history()
                .channel(getChannel(exchange))
                .async((Result<PNHistoryResult> result) -> {
                    LOG.debug("Got history message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHistoryResult r = result.getOrNull();
                        processMessage(exchange, callback, r != null ? r.getMessages() : null);
                    }
                });
    }
Pair #11 Negative (Non-Clone)
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #12 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 464_490
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.getEndpointConfiguration(GoogleDriveApiName apiName)
    public GoogleDriveConfiguration getEndpointConfiguration(GoogleDriveApiName apiName) {
        GoogleDriveConfiguration result = null;
        switch (apiName) {
            case DRIVE_ABOUT:
                result = new DriveAboutEndpointConfiguration();
                break;
            case DRIVE_CHANGES:
                result = new DriveChangesEndpointConfiguration();
                break;
            case DRIVE_CHANNELS:
                result = new DriveChannelsEndpointConfiguration();
                break;
            case DRIVE_COMMENTS:
                result = new DriveCommentsEndpointConfiguration();
                break;
            case DRIVE_DRIVES:
                result = new DriveDrivesEndpointConfiguration();
                break;
            case DRIVE_FILES:
                result = new DriveFilesEndpointConfiguration();
                break;
            case DRIVE_PERMISSIONS:
                result = new DrivePermissionsEndpointConfiguration();
                break;
            case DRIVE_REPLIES:
                result = new DriveRepliesEndpointConfiguration();
                break;
            case DRIVE_REVISIONS:
                result = new DriveRevisionsEndpointConfiguration();
                break;
            case DRIVE_TEAMDRIVES:
                result = new DriveTeamdrivesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #13 Negative (Non-Clone)
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #14 Negative (Non-Clone)
ID: 1332_1237
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestAggregationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestAggregationStreamObserver.onCompleted()
    public void onCompleted() {
        CountDownLatch latch = new CountDownLatch(1);

        exchange.getIn().setBody(requestList);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> {
            latch.countDown();
        });

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
            responseObserver.onCompleted();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);
        }
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #15 Negative (Non-Clone)
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #16 Negative (Non-Clone)
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #17 Negative (Non-Clone)
ID: 1914_1578
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = replicatedCache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
Pair #18 Negative (Non-Clone)
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
Pair #19 Negative (Non-Clone)
ID: 412_445
ClassID: 412
File: systems/camel-java/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
Name: org.apache.camel.component.rest.RestProducer.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 1861_1528
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #20 Negative (Non-Clone)
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #21 Negative (Non-Clone)
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
Pair #22 Negative (Non-Clone)
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #23 Negative (Non-Clone)
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #24 Negative (Non-Clone)
ID: 1459_1312
ClassID: 1459
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DeleteTableCommand.java
Name: org.apache.camel.component.aws2.ddb.DeleteTableCommand.execute()
    public void execute() {
        TableDescription tableDescription = ddbClient
                .deleteTable(DeleteTableRequest.builder().tableName(determineTableName()).build()).tableDescription();

        HashMap<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.PROVISIONED_THROUGHPUT, tableDescription.provisionedThroughput());
        tmp.put(Ddb2Constants.CREATION_DATE, tableDescription.creationDateTime());
        tmp.put(Ddb2Constants.ITEM_COUNT, tableDescription.itemCount());
        tmp.put(Ddb2Constants.KEY_SCHEMA, tableDescription.keySchema());
        tmp.put(Ddb2Constants.TABLE_NAME, tableDescription.tableName());
        tmp.put(Ddb2Constants.TABLE_SIZE, tableDescription.tableSizeBytes());
        tmp.put(Ddb2Constants.TABLE_STATUS, tableDescription.tableStatus());
        addToResults(tmp);
    }
ID: 3261_2620
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> answer = new LinkedHashMap<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.put(pair.getName(), type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }

        return answer;
    }
Pair #25 Negative (Non-Clone)
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #26 Negative (Non-Clone)
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2230_1747
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommit(Exchange exchange, String operation)
    protected void doCommit(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setCommitter(username, email).setMessage(commitMessage).call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #27 Negative (Non-Clone)
ID: 3268_2635
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes)
    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("Searching for: {} in package: {} using classloader: {}",
                    test, packageName, loader.getClass().getName());
        }

        Enumeration<URL> urls = getUrls(packageName, loader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for classes in: {} matching criteria: {}", urlPath, test);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(test, packageName, file, classes);
                } else {
                    InputStream stream = null;
                    try {
                        if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                                || urlPath.startsWith("sonicfs:")
                                || isAcceptableScheme(urlPath)) {
                             
                             
                            LOG.trace("Loading from jar using url: {}", urlPath);
                            URL urlStream = URI.create(urlPath).toURL();
                            URLConnection con = urlStream.openConnection();
                             
                            con.setUseCaches(false);
                            stream = con.getInputStream();
                        } else {
                            LOG.trace("Loading from jar using file: {}", file);
                            stream = new FileInputStream(file);
                        }

                         
                        if (jarCache == null) {
                             
                            jarCache = LRUCacheFactory.newLRUSoftCache(1000);
                        }

                        loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
                    } finally {
                        IOHelper.close(stream);
                    }
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #28 Negative (Non-Clone)
ID: 1852_1505
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPrivateKeyToPEM(privateKey);
            case DER:
            case PKCS8:
                return privateKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for private key: " + format);
        }
    }
ID: 2603_2229
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getMapOrDefault(final String key, final T defaultValue)
    public <T extends Map<?, ?>> T getMapOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            returnable = defaultValue;
        }
        return (T) returnable;
    }
Pair #29 Negative (Non-Clone)
ID: 1810_1494
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCreateContainerRequest(DockerClient client, Message message)
    private CreateContainerCmd executeCreateContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Create Container Request");

        String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);

        ObjectHelper.notNull(image, "Image must be specified");

        CreateContainerCmd createContainerCmd = client.createContainerCmd(image);
        createContainerCmd.withHostConfig(newHostConfig());

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            createContainerCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            createContainerCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            createContainerCmd.withAttachStdout(attachStdOut);
        }

        Capability[] capAdd = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_ADD, message, Capability.class);

        if (capAdd != null) {
            createContainerCmd.getHostConfig().withCapAdd(capAdd);
        }

        Capability[] capDrop = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_DROP, message, Capability.class);

        if (capDrop != null) {
            createContainerCmd.getHostConfig().withCapDrop(capDrop);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            createContainerCmd.withCmd(cmd);
        }

        Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);

        if (cpuShares != null) {
            createContainerCmd.getHostConfig().withCpuShares(cpuShares);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            createContainerCmd.withNetworkDisabled(disableNetwork);
        }

        String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);

        if (dns != null) {
            createContainerCmd.getHostConfig().withDns(dns);
        }

        String domainName = DockerHelper.getProperty(DockerConstants.DOCKER_DOMAIN_NAME, configuration, message, String.class);

        if (domainName != null) {
            createContainerCmd.withDomainName(domainName);
        }

        String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (env != null) {
            createContainerCmd.withEnv(env);
        }

        String[] entrypoint = DockerHelper.getArrayProperty(DockerConstants.DOCKER_ENTRYPOINT, message, String.class);

        if (entrypoint != null) {
            createContainerCmd.withEntrypoint(entrypoint);
        }

        ExposedPort[] exposedPorts
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);

        if (exposedPorts != null) {
            createContainerCmd.withExposedPorts(exposedPorts);
        }

        HostConfig hostConfig
                = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_CONFIG, configuration, message, HostConfig.class);

        if (hostConfig != null) {
            createContainerCmd.withHostConfig(hostConfig);
        }

        String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostName != null) {
            createContainerCmd.withHostName(hostName);
        }

        Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);

        if (memoryLimit != null) {
            createContainerCmd.getHostConfig().withMemory(memoryLimit);
        }

        Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);

        if (memorySwap != null) {
            createContainerCmd.getHostConfig().withMemorySwap(memorySwap);
        }

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        if (name != null) {
            createContainerCmd.withName(name);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            createContainerCmd.withPortSpecs(portSpecs);
        }

        Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);

        if (stdInOpen != null) {
            createContainerCmd.withStdinOpen(stdInOpen);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            createContainerCmd.withStdInOnce(stdInOnce);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            createContainerCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            createContainerCmd.withUser(user);
        }

        Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);

        if (volume != null) {
            createContainerCmd.withVolumes(volume);
        }

        Bind[] binds = DockerHelper.getArrayProperty(DockerConstants.DOCKER_BINDS, message, Bind.class);

        if (binds != null) {
            createContainerCmd.getHostConfig().withBinds(binds);
        }

        VolumesFrom[] volumesFrom
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES_FROM, message, VolumesFrom.class);

        if (volumesFrom != null) {
            createContainerCmd.getHostConfig().withVolumesFrom(volumesFrom);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            createContainerCmd.withWorkingDir(workingDir);
        }

        return createContainerCmd;

    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #30 Negative (Non-Clone)
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
Pair #31 Negative (Non-Clone)
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #32 Negative (Non-Clone)
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
ID: 2568_2149
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processElement(Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement, Set<EipOptionModel> eipOptions, String prefix)
    private void processElement(
            Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement,
            Set<EipOptionModel> eipOptions, String prefix) {
        String fieldName = fieldElement.getName();
        if (element != null) {
            Metadata metadata = fieldElement.getAnnotation(Metadata.class);
            String name = fetchElementName(element, fieldElement, prefix);
            Class<?> fieldTypeElement = fieldElement.getType();
            String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
            boolean isDuration = false;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
                String jt = metadata.javaType();
                if ("java.time.Duration".equals(jt)) {
                    isDuration = true;
                } else {
                    fieldTypeName = jt;
                }
            }

            String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
            String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
            boolean required = element.required();
             
            required = findRequired(fieldElement, required);

             
             
            boolean asPredicate = fieldElement.getAnnotation(AsPredicate.class) != null;
            if (!asPredicate) {
                asPredicate = classElement.getAnnotation(AsPredicate.class) != null;
            }

             
            Set<String> enums = new TreeSet<>();
            boolean isEnum;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
                isEnum = true;
                String[] values = metadata.enums().split(",");
                for (String val : values) {
                    enums.add(val.trim());
                }
            } else {
                isEnum = fieldTypeElement.isEnum();
                if (isEnum) {
                    for (Object val : fieldTypeElement.getEnumConstants()) {
                        String str = val.toString();
                        enums.add(str);
                    }
                }
            }

            String kind = "element";
             
            Set<String> oneOfTypes = new TreeSet<>();
            boolean isOneOf = ONE_OF_TYPE_NAME.equals(fieldTypeName);
            if (isOneOf) {
                 
                 
                kind = "expression";
                oneOfTypes = getOneOfs(ONE_OF_LANGUAGES);
            }
             
            if ("otherwise".equals(name)) {
                oneOfTypes.add("otherwise");
            }

            boolean important = false;
            String displayName = null;
            if (metadata != null) {
                displayName = metadata.displayName();
                important = metadata.important();
            }
            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
            String deprecationNote = null;
            if (metadata != null) {
                deprecationNote = metadata.deprecationNote();
            }
            String label = null;
            if (metadata != null) {
                label = metadata.label();
            }

            EipOptionModel ep = createOption(name, displayName, kind, fieldTypeName, required, defaultValue, label,
                    docComment, deprecated, deprecationNote, isEnum, enums,
                    oneOfTypes, asPredicate, isDuration, important);
            eipOptions.add(ep);
        }
    }
Pair #33 Negative (Non-Clone)
ID: 902_777
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Gmail makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Gmail client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
Pair #34 Negative (Non-Clone)
ID: 1248_1081
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createOutHeaderFunction()
    private XPathFunction createOutHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (exchange.get() != null && !list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getOut().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
Pair #35 Negative (Non-Clone)
ID: 974_820
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setLong(++totalParameterIndex, version + 1);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #36 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 680_609
ClassID: 680
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MetricsRoutePolicy answer = new MetricsRoutePolicy();
        answer.setMetricsRegistry(getMetricsRegistry());
        answer.setUseJmx(isUseJmx());
        answer.setJmxDomain(getJmxDomain());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setRateUnit(getRateUnit());
        answer.setDurationUnit(getDurationUnit());
        if (namePattern != null) {
            answer.setNamePattern(namePattern);
        }
        return answer;
    }
Pair #37 Negative (Non-Clone)
ID: 893_747
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-qdrant/src/main/java/org/apache/camel/component/qdrant/QdrantEndpoint.java
Name: org.apache.camel.component.qdrant.QdrantEndpoint.getClient()
    public QdrantClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #38 Negative (Non-Clone)
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 765_685
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-cos/src/main/java/org/apache/camel/component/ibm/cos/IBMCOSProducer.java
Name: org.apache.camel.component.ibm.cos.IBMCOSProducer.determineKey(Exchange exchange)
    private String determineKey(Exchange exchange) {
        String key = exchange.getIn().getHeader(IBMCOSConstants.KEY, String.class);
        if (key == null) {
            key = getConfiguration().getKeyName();
        }
        if (key == null) {
            throw new IllegalArgumentException("Key must be specified");
        }
        return key;
    }
Pair #39 Negative (Non-Clone)
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #40 Negative (Non-Clone)
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1888_1558
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
Pair #41 Negative (Non-Clone)
ID: 2470_2001
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getFrom(Row r)
    protected String getFrom(Row r) {
        String u = r.from;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2442_1922
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getStatus(SuspendedRow r)
    private String getStatus(SuspendedRow r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = "Created";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(done).reset().toString();
            } else {
                return done;
            }
        }
        if (!r.done) {
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a("Breakpoint").reset().toString();
            } else {
                return "Breakpoint";
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
Pair #42 Negative (Non-Clone)
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 2231_1749
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCreateBranch(String operation)
    protected void doCreateBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchCreate().setName(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #43 Negative (Non-Clone)
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
Pair #44 Negative (Non-Clone)
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
ID: 187_183
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case BULK2_CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case BULK2_GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case BULK2_CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case BULK2_CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case BULK2_ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case BULK2_DELETE_JOB:
                    deleteJob(exchange, callback);
                    break;
                case BULK2_GET_SUCCESSFUL_RESULTS:
                    processGetSuccessfulResults(exchange, callback);
                    break;
                case BULK2_GET_FAILED_RESULTS:
                    processGetFailedResults(exchange, callback);
                    break;
                case BULK2_GET_UNPROCESSED_RECORDS:
                    processGetUnprocessedRecords(exchange, callback);
                    break;
                case BULK2_GET_ALL_JOBS:
                    processGetAllJobs(exchange, callback);
                    break;
                case BULK2_CREATE_QUERY_JOB:
                    processCreateQueryJob(exchange, callback);
                    break;
                case BULK2_GET_QUERY_JOB:
                    processGetQueryJob(exchange, callback);
                    break;
                case BULK2_GET_QUERY_JOB_RESULTS:
                    processGetQueryJobResults(exchange, callback);
                    break;
                case BULK2_ABORT_QUERY_JOB:
                    processAbortQueryJob(exchange, callback);
                    break;
                case BULK2_DELETE_QUERY_JOB:
                    processDeleteQueryJob(exchange, callback);
                    break;
                case BULK2_GET_ALL_QUERY_JOBS:
                    processGetAllQueryJobs(exchange, callback);
                    break;
                default:
                    throw new SalesforceException(
                            "Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(),
                            e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(),
                            e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
Pair #45 Negative (Non-Clone)
ID: 1428_1282
ClassID: 1428
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/LogicalOperatorType.java
Name: org.apache.camel.language.simple.types.LogicalOperatorType.asOperator(String text)
    public static LogicalOperatorType asOperator(String text) {
        switch (text) {
            case "&&":
                return AND;
            case "||":
                return OR;
            default:
                throw new IllegalArgumentException("Operator not supported: " + text);
        }
    }
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
Pair #46 Negative (Non-Clone)
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #47 Negative (Non-Clone)
ID: 640_570
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Post.java
Name: org.apache.camel.component.dhis2.api.Dhis2Post.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PostOperation postOperation = dhis2Client.post(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        postOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    postOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            postOperation.withResource(resource);
        }

        return postOperation.transfer().read();

    }
ID: 2538_2113
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadVersion(String version)
    public boolean loadVersion(String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String camelCatalogGAV = String.format("org.apache.camel:camel-catalog:%s", version);
            resolve(mavenDownloader, camelCatalogGAV, version.contains("SNAPSHOT"));

            this.version = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
Pair #48 Negative (Non-Clone)
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
ID: 3227_2520
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createOrExpression(final Expression leftExp, final Expression rightExp)
    private Expression createOrExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.or(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #49 Negative (Non-Clone)
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #50 Negative (Non-Clone)
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #51 Negative (Non-Clone)
ID: 3230_2530
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionExpression()
    public static Expression fileOnlyNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext";
            }
        };
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #52 Negative (Non-Clone)
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
Pair #53 Negative (Non-Clone)
ID: 2338_1838
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Producer.java
Name: org.apache.camel.component.aws2.sns.Sns2Producer.configureFifoAttributes(PublishRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(PublishRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoTopic()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #54 Negative (Non-Clone)
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #55 Negative (Non-Clone)
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
ID: 3177_2453
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(String systemId)
        public void parse(String systemId) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(systemId);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
Pair #56 Negative (Non-Clone)
ID: 1116_952
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getSecretKey(ImageRecognitionEndpoint endpoint)
    private String getSecretKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getSecretKey())) {
            return endpoint.getSecretKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getSecretKey())) {
            return endpoint.getServiceKeys().getSecretKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'secret key (SK)' not found");
        }
    }
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
Pair #57 Negative (Non-Clone)
ID: 1062_919
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyQualifiers(List<String> sigPolicyQualifiers)
    public void setSigPolicyQualifiers(List<String> sigPolicyQualifiers) {
        if (sigPolicyQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyQualifiers' is null");
        }
        for (String qualifier : sigPolicyQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one of the policy qualifiers is null or empty");
            }
        }
        this.sigPolicyQualifiers = new ArrayList<>(sigPolicyQualifiers);
    }
ID: 182_171
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeApiClient.tryToReadResponse(final Class<T> expectedType, final InputStream responseStream)
    <T> Optional<T> tryToReadResponse(final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJson(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #58 Negative (Non-Clone)
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
Pair #59 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 757_678
ClassID: 757
File: systems/camel-java/components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java
Name: org.apache.camel.component.seda.QueueReference.addReference(SedaEndpoint endpoint)
    void addReference(SedaEndpoint endpoint) {
        lock.lock();
        try {
            if (!endpoints.contains(endpoint)) {
                endpoints.add(endpoint);
                 
                if (endpoint.isMultipleConsumers()) {
                    multipleConsumers = true;
                }
            }
        } finally {
            lock.unlock();
        }
    }
Pair #60 Negative (Non-Clone)
ID: 2540_2115
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findJavaRouteBuilderClasses(Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project)
    public static void findJavaRouteBuilderClasses(
            Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project) {
        if (includeJava) {
            for (String dir : project.getCompileSourceRoots()) {
                FileUtil.findJavaFiles(new File(dir), javaFiles);
            }
            if (includeTest) {
                for (String dir : project.getTestCompileSourceRoots()) {
                    FileUtil.findJavaFiles(new File(dir), javaFiles);
                }
            }
        }
    }
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
Pair #61 Negative (Non-Clone)
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 248_322
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventProcessorClient(final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent, final Consumer<ErrorContext> processError)
    public static EventProcessorClient createEventProcessorClient(
            final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent,
            final Consumer<ErrorContext> processError) {
        EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .initialPartitionEventPosition(configuration.getEventPosition())
                .checkpointStore(createCheckpointStore(configuration))
                .consumerGroup(configuration.getConsumerGroupName())
                .retryOptions(configuration.getAmqpRetryOptions())
                .transportType(configuration.getAmqpTransportType())
                .processError(processError)
                .processEvent(processEvent);

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventProcessorClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildEventProcessorClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventProcessorClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildEventProcessorClient();
        }
        return eventProcessorClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildEventProcessorClient();
    }
Pair #62 Negative (Non-Clone)
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #63 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 188_196
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportDescription(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportDescription(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportDescription(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportDescriptionResponseCallback() {
                    @Override
                    public void onResponse(
                            ReportDescription reportDescription, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportDescription, headers, ex, callback);
                    }
                });
    }
Pair #64 Negative (Non-Clone)
ID: 1233_1059
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400MsgQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400MsgQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 2645_2296
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(boolean autoRelease)
    public Exchange create(boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(null, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #65 Negative (Non-Clone)
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #66 Negative (Non-Clone)
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 657_580
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
Name: org.apache.camel.component.openstack.nova.NovaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NovaConstants.NOVA_SUBSYSTEM_FLAVORS:
                return new FlavorsProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_SERVERS:
                return new ServerProducer(this, createClient());
            case NovaConstants.NOVA_SUBSYSTEM_KEYPAIRS:
                return new KeypairProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #67 Negative (Non-Clone)
ID: 1541_1361
ClassID: 1541
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters, String consumes,
            String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {
         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String scheme = "vertx-http:";
        String url = scheme + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, scheme);
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals(scheme)) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        VertxHttpEndpoint endpoint = (VertxHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;
        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.getConfiguration().setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.getConfiguration().setHeaderFilterStrategy(new VertxHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
Pair #68 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
Pair #69 Negative (Non-Clone)
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
ID: 2442_1923
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getStatus(Row r)
    private String getStatus(Row r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = r.parent.depth == 1 ? "Created" : "Routing to " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            String s = r.parent.depth == 0 ? done : "Returning from " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
        if (!r.done) {
            String s = remote ? "Sending" : "Processing";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
Pair #70 Negative (Non-Clone)
ID: 2439_1914
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getObjectName(String uriExpression)
    protected String getObjectName(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[1];
        }

        return namespacedName;
    }
ID: 438_456
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(false);
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #71 Negative (Non-Clone)
ID: 350_404
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureProxyAuthorizationPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureProxyAuthorizationPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        ProxyAuthorizationPolicy proxyPolicy = configuration.getProxyAuthorizationPolicy();
        if (proxyPolicy == null) {
            String username = configuration.getProxyUserName();
            String password = configuration.getProxyPassword();

            if (username != null && password != null) {
                proxyPolicy = new ProxyAuthorizationPolicy();
                proxyPolicy.setAuthorizationType("Basic");
                proxyPolicy.setUserName(username);
                proxyPolicy.setPassword(password);
            }
        }

        if (proxyPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setProxyAuthorization(proxyPolicy);
        }
    }
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #72 Negative (Non-Clone)
ID: 2638_2276
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(String endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            String endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 2568_2149
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processElement(Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement, Set<EipOptionModel> eipOptions, String prefix)
    private void processElement(
            Class<?> originalClassType, Class<?> classElement, XmlElement element, Field fieldElement,
            Set<EipOptionModel> eipOptions, String prefix) {
        String fieldName = fieldElement.getName();
        if (element != null) {
            Metadata metadata = fieldElement.getAnnotation(Metadata.class);
            String name = fetchElementName(element, fieldElement, prefix);
            Class<?> fieldTypeElement = fieldElement.getType();
            String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
            boolean isDuration = false;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
                String jt = metadata.javaType();
                if ("java.time.Duration".equals(jt)) {
                    isDuration = true;
                } else {
                    fieldTypeName = jt;
                }
            }

            String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
            String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
            boolean required = element.required();
             
            required = findRequired(fieldElement, required);

             
             
            boolean asPredicate = fieldElement.getAnnotation(AsPredicate.class) != null;
            if (!asPredicate) {
                asPredicate = classElement.getAnnotation(AsPredicate.class) != null;
            }

             
            Set<String> enums = new TreeSet<>();
            boolean isEnum;
            if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
                isEnum = true;
                String[] values = metadata.enums().split(",");
                for (String val : values) {
                    enums.add(val.trim());
                }
            } else {
                isEnum = fieldTypeElement.isEnum();
                if (isEnum) {
                    for (Object val : fieldTypeElement.getEnumConstants()) {
                        String str = val.toString();
                        enums.add(str);
                    }
                }
            }

            String kind = "element";
             
            Set<String> oneOfTypes = new TreeSet<>();
            boolean isOneOf = ONE_OF_TYPE_NAME.equals(fieldTypeName);
            if (isOneOf) {
                 
                 
                kind = "expression";
                oneOfTypes = getOneOfs(ONE_OF_LANGUAGES);
            }
             
            if ("otherwise".equals(name)) {
                oneOfTypes.add("otherwise");
            }

            boolean important = false;
            String displayName = null;
            if (metadata != null) {
                displayName = metadata.displayName();
                important = metadata.important();
            }
            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
            String deprecationNote = null;
            if (metadata != null) {
                deprecationNote = metadata.deprecationNote();
            }
            String label = null;
            if (metadata != null) {
                label = metadata.label();
            }

            EipOptionModel ep = createOption(name, displayName, kind, fieldTypeName, required, defaultValue, label,
                    docComment, deprecated, deprecationNote, isEnum, enums,
                    oneOfTypes, asPredicate, isDuration, important);
            eipOptions.add(ep);
        }
    }
Pair #73 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
Pair #74 Negative (Non-Clone)
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #75 Negative (Non-Clone)
ID: 2575_2163
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DevConsoleModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
        annotations.forEach(a -> {
            DevConsoleModel model = new DevConsoleModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setGroup(annotationValue(a, "group"));
            model.setName(annotationValue(a, "name"));
            model.setDisplayName(annotationValue(a, "displayName"));
            model.setDescription(annotationValue(a, "description"));
             
            boolean skip = "default-registry".equals(model.getName());
            if (!skip) {
                models.add(model);
            }
        });
        models.sort(Comparator.comparing(DevConsoleModel::getName));

         

        if (!models.isEmpty()) {
            try {
                StringJoiner ids = new StringJoiner(" ");
                for (var model : models) {
                    ids.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/org/apache/camel/dev-console/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated dev-console json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "dev-consoles", ids.toString());
                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
                              + (count > 1 ? "consoles: " : "console: ") + ids);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
Pair #76 Negative (Non-Clone)
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
Pair #77 Negative (Non-Clone)
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 2302_1824
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getClient(final Kinesis2Endpoint endpoint)
    public KinesisClient getClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisClient)) {
                kinesisClient = endpoint.getConfiguration().getAmazonKinesisClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisClient()
                        : KinesisClientFactory.getKinesisClient(endpoint.getConfiguration());
            }
            return kinesisClient;
        } finally {
            lock.unlock();
        }
    }
Pair #78 Negative (Non-Clone)
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
Pair #79 Negative (Non-Clone)
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #80 Negative (Non-Clone)
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 452_482
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.moveFile(String fileId, String destinationFolderId, String newName)
    public BoxFile moveFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToMove = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFile) fileToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFile) fileToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #81 Negative (Non-Clone)
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
ID: 1500_1353
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignOrientation(final String orientation)
    public OrientationRequested assignOrientation(final String orientation) {
        OrientationRequested answer;

        if (orientation == null) {
             
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("portrait")) {
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("landscape")) {
            answer = OrientationRequested.LANDSCAPE;
        } else if (orientation.equalsIgnoreCase("reverse-portrait")) {
            answer = OrientationRequested.REVERSE_PORTRAIT;
        } else if (orientation.equalsIgnoreCase("reverse-landscape")) {
            answer = OrientationRequested.REVERSE_LANDSCAPE;
        } else {
            answer = OrientationRequested.PORTRAIT;
        }

        return answer;
    }
Pair #82 Negative (Non-Clone)
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
ID: 3170_2437
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageBody(Integer index)
    public String browseMessageBody(Integer index) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.extractBodyAsString(msg);
    }
Pair #83 Negative (Non-Clone)
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 27_43
ClassID: 27
File: systems/camel-java/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #84 Negative (Non-Clone)
ID: 188_198
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.deleteJob(Exchange exchange, AsyncCallback callback)
    private void deleteJob(Exchange exchange, AsyncCallback callback) throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
Pair #85 Negative (Non-Clone)
ID: 306_371
ClassID: 306
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.KafkaSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #86 Negative (Non-Clone)
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
ID: 3179_2457
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument(charset, "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                String namespaceUri = reader.getAttributeNamespace(i);
                                writer.writeAttribute(reader.getAttributePrefix(i), namespaceUri == null ? "" : namespaceUri,
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                String namespacePrefix = reader.getNamespacePrefix(i);
                                String namespaceURI = reader.getNamespaceURI(i);
                                writer.writeNamespace(namespacePrefix == null ? "" : namespacePrefix,
                                        namespaceURI == null ? "" : namespaceURI);
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
Pair #87 Negative (Non-Clone)
ID: 1549_1370
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.register(ServiceDefinition definition)
    public void register(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            ServiceInstance<MetaData> instance = ServiceInstance.<MetaData> builder()
                    .address(computeServiceHost(definition))
                    .port(definition.getPort())
                    .name(definition.getName())
                    .id(definition.getId())
                    .payload(new MetaData(definition.getMetadata()))
                    .build();

            serviceDiscovery.registerService(instance);

             
            serviceList.add(definition.getId());
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 1275_1119
ClassID: 1275
File: systems/camel-java/core/camel-support/src/generated/java/org/apache/camel/converter/stream/StreamCacheBulkConverterLoader.java
Name: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #88 Negative (Non-Clone)
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
ID: 1972_1605
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.upsert(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #89 Negative (Non-Clone)
ID: 217_237
ClassID: 217
File: systems/camel-java/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityProcessor.java
Name: org.apache.camel.component.shiro.security.ShiroSecurityProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            applySecurityPolicy(exchange);
        } catch (Exception e) {
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }

        return super.process(exchange, callback);
    }
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
Pair #90 Negative (Non-Clone)
ID: 698_638
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsert(Exchange exchange, SqlSession session)
    private void doInsert(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Inserting: {} using statement: {}", value, statement);
                result = session.insert(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #91 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #92 Negative (Non-Clone)
ID: 658_596
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/NetworkProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.NetworkProducer.messageToNetwork(Message message)
    private Network messageToNetwork(Message message) {
        Network network = message.getBody(Network.class);
        if (network == null) {
            Map headers = message.getHeaders();
            NetworkBuilder builder = Builders.network();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.ADMIN_STATE_UP)) {
                builder.adminStateUp(message.getHeader(NeutronConstants.ADMIN_STATE_UP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.NETWORK_TYPE)) {
                builder.networkType(message.getHeader(NeutronConstants.NETWORK_TYPE, NetworkType.class));
            }

            if (headers.containsKey(NeutronConstants.IS_SHARED)) {
                builder.isShared(message.getHeader(NeutronConstants.IS_SHARED, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.IS_ROUTER_EXTERNAL)) {
                builder.isRouterExternal(message.getHeader(NeutronConstants.IS_ROUTER_EXTERNAL, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.PHYSICAL_NETWORK)) {
                builder.physicalNetwork(message.getHeader(NeutronConstants.PHYSICAL_NETWORK, String.class));
            }

            if (headers.containsKey(NeutronConstants.SEGMENT_ID)) {
                builder.segmentId(message.getHeader(NeutronConstants.SEGMENT_ID, String.class));
            }

            network = builder.build();
        }

        return network;
    }
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
Pair #93 Negative (Non-Clone)
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 3279_2667
ClassID: 3279
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNull(final Expression expression)
    public static Predicate isNull(final Expression expression) {
        return new BinaryPredicateSupport(expression, ExpressionBuilder.constantExpression(null)) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                 
                 
                return "is";
            }
        };
    }
Pair #94 Negative (Non-Clone)
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #95 Negative (Non-Clone)
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
Pair #96 Negative (Non-Clone)
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #97 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #98 Negative (Non-Clone)
ID: 977_825
ClassID: 977
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
    public void marshallExchange(
            Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        encode(pe, outputStream);
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #99 Negative (Non-Clone)
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #100 Negative (Non-Clone)
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
Pair #101 Negative (Non-Clone)
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
ID: 2580_2176
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadEipJson(File file)
    private static String loadEipJson(File file) {
        try {
            String json = PackageHelper.loadText(file);
            if ("model".equals(PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #102 Negative (Non-Clone)
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
Pair #103 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
Pair #104 Negative (Non-Clone)
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #105 Negative (Non-Clone)
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
Pair #106 Negative (Non-Clone)
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #107 Negative (Non-Clone)
ID: 2610_2244
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateDataFormatModel(JsonObject obj)
    public static DataFormatModel generateDataFormatModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("dataformat");
        DataFormatModel model = new DataFormatModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            DataFormatOptionModel option = new DataFormatOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        return model;
    }
ID: 2441_1918
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadDebug(long pid)
    JsonObject loadDebug(long pid) {
        try {
            Path p = getDebugFile(Long.toString(pid));
            if (p != null && Files.exists(p)) {
                String text = Files.readString(p);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #108 Negative (Non-Clone)
ID: 3252_2604
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.createInstance()
    protected KeyManagersParameters createInstance() throws Exception {
        KeyManagersParameters newInstance = new KeyManagersParameters();

        newInstance.setAlgorithm(algorithm);
        newInstance.setKeyPassword(keyPassword);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        return newInstance;
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #109 Negative (Non-Clone)
ID: 698_638
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsert(Exchange exchange, SqlSession session)
    private void doInsert(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Inserting: {} using statement: {}", value, statement);
                result = session.insert(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 453_483
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.getFolderInfo(String folderId, String... fields)
    public BoxFolder.Info getFolderInfo(String folderId, String... fields) {
        try {
            LOG.debug("Getting info for folder(id={})", folderId);
            BoxHelper.notNull(folderId, FOLDER_ID);

            BoxFolder folder = new BoxFolder(boxConnection, folderId);

            if (fields == null || fields.length == 0) {
                return folder.getInfo();
            } else {
                return folder.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #110 Negative (Non-Clone)
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
Pair #111 Negative (Non-Clone)
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 3164_2422
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #112 Negative (Non-Clone)
ID: 3294_2699
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactorySSLSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLSocket>> getSSLSocketFactorySSLSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLSocket> sslSocketConfigurer = new Configurer<>() {

            @Override
            public SSLSocket configure(SSLSocket socket) {

                if (!getSNIHostNames().isEmpty()) {
                    SSLParameters sslParameters = socket.getSSLParameters();
                    sslParameters.setServerNames(getSNIHostNames());
                    socket.setSSLParameters(sslParameters);
                }

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSSLParameters().getCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);
                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSSLParameters().getCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSSLParameters().getProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSSLParameters().getProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLSocket>> sslSocketConfigurers = new LinkedList<>();
        sslSocketConfigurers.add(sslSocketConfigurer);

        return sslSocketConfigurers;
    }
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
Pair #113 Negative (Non-Clone)
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 1888_1558
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
Pair #114 Negative (Non-Clone)
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #115 Negative (Non-Clone)
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2658_2328
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
Name: org.apache.camel.processor.SetPropertyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newProperty = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = propertyName.evaluate(exchange, String.class);
            exchange.setProperty(key, newProperty);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #116 Negative (Non-Clone)
ID: 2189_1725
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.untagDroplet(Exchange exchange)
    private void untagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().untagResources(dropletId.toString(), resources);
        LOG.trace("Untag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
Pair #117 Negative (Non-Clone)
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #118 Negative (Non-Clone)
ID: 1689_1410
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelEndpointFactoryBean) {
                CamelEndpointFactoryBean factoryBean = (CamelEndpointFactoryBean) value;
                builder.addPropertyValue("properties", factoryBean.getProperties());
            }
        }
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #119 Negative (Non-Clone)
ID: 2436_1908
ClassID: 2436
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/XmlHelper.java
Name: org.apache.camel.dsl.jbang.core.common.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
Pair #120 Negative (Non-Clone)
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 192_216
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectExtIdValue;
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.deleteSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        processResponse(exchange, response, headers, exception, callback);
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                    }
                });
    }
Pair #121 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 3232_2549
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeExceptionOgnlExpression(final String ognl)
    public static Expression exchangeExceptionOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object exception = exchange.getException();
                if (exception == null) {
                    exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Exception.class);
                }

                if (exception == null) {
                    return null;
                }

                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exception, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeExceptionOgnl(" + ognl + ")";
            }
        };
    }
Pair #122 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 342_396
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newBuilder() {
        final Properties producerProperties = KafkaResumeStrategyConfigurationBuilder.createProducerProperties();
        final Properties consumerProperties = KafkaResumeStrategyConfigurationBuilder.createConsumerProperties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);
        builder.withCacheFillPolicy(Cacheable.FillPolicy.MAXIMIZING);

        return builder;
    }
Pair #123 Negative (Non-Clone)
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 715_656
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry2/src/main/java/org/apache/camel/opentelemetry2/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry2.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    private Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #124 Negative (Non-Clone)
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 2176_1708
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration)
    private void configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
Pair #125 Negative (Non-Clone)
ID: 1572_1382
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.charsetDecoder(IoSession session)
    private CharsetDecoder charsetDecoder(IoSession session) {
        synchronized (session) {
            CharsetDecoder decoder = (CharsetDecoder) session.getAttribute(CHARSET_DECODER);
            if (decoder == null) {
                decoder = config.getCharset().newDecoder()
                        .onMalformedInput(config.getMalformedInputErrorAction())
                        .onUnmappableCharacter(config.getUnmappableCharacterErrorAction());
                session.setAttribute(CHARSET_DECODER, decoder);
            }
            return decoder;
        }
    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #126 Negative (Non-Clone)
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
Pair #127 Negative (Non-Clone)
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
Pair #128 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
Pair #129 Negative (Non-Clone)
ID: 1139_983
ClassID: 1139
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
Name: org.apache.camel.component.github.GitHubEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (type == GitHubType.CLOSEPULLREQUEST) {
            return new ClosePullRequestProducer(this);
        } else if (type == GitHubType.PULLREQUESTCOMMENT) {
            return new PullRequestCommentProducer(this);
        } else if (type == GitHubType.PULLREQUESTSTATE) {
            return new PullRequestStateProducer(this);
        } else if (type == GitHubType.PULLREQUESTFILES) {
            return new PullRequestFilesProducer(this);
        } else if (type == GitHubType.GETCOMMITFILE) {
            return new GetCommitFileProducer(this);
        } else if (type == GitHubType.CREATEISSUE) {
            return new CreateIssueProducer(this);
        }
        throw new IllegalArgumentException("Cannot create producer with type " + type);
    }
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #130 Negative (Non-Clone)
ID: 2512_2066
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(UnmarshalDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(UnmarshalDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "allowNullBody": {
                    String val = asText(node);
                    target.setAllowNullBody(val);
                    break;
                }
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "disabled": {
                    String val = asText(node);
                    target.setDisabled(val);
                    break;
                }
                case "variableReceive": {
                    String val = asText(node);
                    target.setVariableReceive(val);
                    break;
                }
                case "variableSend": {
                    String val = asText(node);
                    target.setVariableSend(val);
                    break;
                }
                case "id": {
                    String val = asText(node);
                    target.setId(val);
                    break;
                }
                case "description": {
                    String val = asText(node);
                    target.setDescription(val);
                    break;
                }
                case "note": {
                    String val = asText(node);
                    target.setNote(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #131 Negative (Non-Clone)
ID: 1982_1621
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/OutputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.OutputLengthGuardrail.OutputLengthGuardrail(int maxChars, int minChars, boolean truncateOnOverflow)
    public OutputLengthGuardrail(int maxChars, int minChars, boolean truncateOnOverflow) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
        this.truncateOnOverflow = truncateOnOverflow;
    }
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
Pair #132 Negative (Non-Clone)
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #133 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #134 Negative (Non-Clone)
ID: 2363_1859
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode text = firstOutput.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
Pair #135 Negative (Non-Clone)
ID: 898_756
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent.getClient(GoogleSheetsStreamConfiguration config)
    public Sheets getClient(GoogleSheetsStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #136 Negative (Non-Clone)
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #137 Negative (Non-Clone)
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 2041_1647
ClassID: 2041
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/cluster/FileLockClusterView.java
Name: org.apache.camel.component.file.cluster.FileLockClusterView.closeLockFiles()
    private void closeLockFiles() {
        if (leaderLockFile != null) {
            try {
                leaderLockFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderLockFile = null;
        }

        if (leaderDataFile != null) {
            try {
                leaderDataFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderDataFile = null;
        }
    }
Pair #138 Negative (Non-Clone)
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
Pair #139 Negative (Non-Clone)
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #140 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
Pair #141 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
Pair #142 Negative (Non-Clone)
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #143 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
Pair #144 Negative (Non-Clone)
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #145 Negative (Non-Clone)
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
Pair #146 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 3099_2370
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableNoContentResponse(boolean enableNoContentResponse)
    public RestDefinition enableNoContentResponse(boolean enableNoContentResponse) {
        if (getVerbs().isEmpty()) {
            this.enableNoContentResponse = Boolean.toString(enableNoContentResponse);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableNoContentResponse(Boolean.toString(enableNoContentResponse));
        }

        return this;
    }
Pair #147 Negative (Non-Clone)
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #148 Negative (Non-Clone)
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
Pair #149 Negative (Non-Clone)
ID: 2584_2183
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!mainJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "main.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(mainJsonFile);
            MainModel model = JsonMapper.generateMainModel(json);
            String options = evaluateTemplate("main-options.mvel", model);
            updated = updateOptionsIn(file, "main", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing main docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No main doc file: " + file);
        }
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #150 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #151 Negative (Non-Clone)
ID: 1307_1146
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Event Consumer");
        if (executor != null) {
            KubernetesHelper.close(eventWatcher, eventWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
Pair #152 Negative (Non-Clone)
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
Pair #153 Negative (Non-Clone)
ID: 2097_1693
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUploadComplete(String host, String file)
    public void onUploadComplete(String host, String file) {
        String msg = "Uploading to host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #154 Negative (Non-Clone)
ID: 1806_1472
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
    private void runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
            throws DockerException, InterruptedException {
         
        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {

            BuildImageResultCallback item = cmd.exec(new BuildImageResultCallback() {
                @Override
                public void onNext(BuildResponseItem item) {
                    super.onNext(item);

                    LOG.trace("build image callback {}", item);

                    exchange.getIn().setBody(item.getImageId());
                }
            });

            setResponse(exchange, item);
        }
    }
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
Pair #155 Negative (Non-Clone)
ID: 1203_1028
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doPublish(Exchange exchange, AsyncCallback callback)
    private void doPublish(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            throw new RuntimeCamelException("Cannot publish empty message");
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .publish()
                .message(body)
                .channel(getChannel(exchange))
                .usePOST(true)
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got publish message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #156 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 2107_1700
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStream(Exchange exchange)
    protected DataStream resolveDataStream(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER) != null) {
            return (DataStream) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER);
        } else if (getEndpoint().getDataStream() != null) {
            return getEndpoint().getDataStream();
        } else {
            throw new IllegalArgumentException("No DataStream defined");
        }
    }
Pair #157 Negative (Non-Clone)
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #158 Negative (Non-Clone)
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
Pair #159 Negative (Non-Clone)
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #160 Negative (Non-Clone)
ID: 1289_1134
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final Reader reader)
    public static XQueryBuilder xquery(final Reader reader) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException, IOException {
                try {
                    return staticQueryContext.compileQuery(reader);
                } finally {
                    IOHelper.close(reader);
                }
            }
        };
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #161 Negative (Non-Clone)
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #162 Negative (Non-Clone)
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
Pair #163 Negative (Non-Clone)
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 1720_1435
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #164 Negative (Non-Clone)
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
ID: 1008_871
ClassID: 1008
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ODataFeed) {
            index((ODataFeed) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else if (result instanceof ODataEntry) {
            index((ODataEntry) result);
        } else {
            indexDefault(result);
        }
    }
Pair #165 Negative (Non-Clone)
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #166 Negative (Non-Clone)
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #167 Negative (Non-Clone)
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #168 Negative (Non-Clone)
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 1692_1418
ClassID: 1692
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
Name: org.apache.camel.impl.engine.DefaultInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
             
            CamelContextAware.trySetCamelContext(answer, camelContext);
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #169 Negative (Non-Clone)
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
Pair #170 Negative (Non-Clone)
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
ID: 2575_2163
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DevConsoleModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
        annotations.forEach(a -> {
            DevConsoleModel model = new DevConsoleModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setGroup(annotationValue(a, "group"));
            model.setName(annotationValue(a, "name"));
            model.setDisplayName(annotationValue(a, "displayName"));
            model.setDescription(annotationValue(a, "description"));
             
            boolean skip = "default-registry".equals(model.getName());
            if (!skip) {
                models.add(model);
            }
        });
        models.sort(Comparator.comparing(DevConsoleModel::getName));

         

        if (!models.isEmpty()) {
            try {
                StringJoiner ids = new StringJoiner(" ");
                for (var model : models) {
                    ids.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/org/apache/camel/dev-console/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated dev-console json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "dev-consoles", ids.toString());
                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
                              + (count > 1 ? "consoles: " : "console: ") + ids);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
Pair #171 Negative (Non-Clone)
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #172 Negative (Non-Clone)
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
Pair #173 Negative (Non-Clone)
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 2441_1918
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadDebug(long pid)
    JsonObject loadDebug(long pid) {
        try {
            Path p = getDebugFile(Long.toString(pid));
            if (p != null && Files.exists(p)) {
                String text = Files.readString(p);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #174 Negative (Non-Clone)
ID: 242_308
ClassID: 242
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("login", "Client Id/Client Secret");
            AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
            if (azure != null) {
                root.put("refreshEnabled", azure.isRefreshEnabled());
                root.put("refreshPeriod", azure.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #175 Negative (Non-Clone)
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #176 Negative (Non-Clone)
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
Pair #177 Negative (Non-Clone)
ID: 2614_2262
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateJBangModel(JsonObject obj)
    public static JBangModel generateJBangModel(JsonObject obj) {
        JBangModel model = new JBangModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            JBangGroupModel group = new JBangGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            JBangOptionModel option = new JBangOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #178 Negative (Non-Clone)
ID: 2609_2242
ClassID: 2609
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        ObjectHelper.notNull(clazz, "Class must not be null");
        ObjectHelper.notNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
Pair #179 Negative (Non-Clone)
ID: 744_672
ClassID: 744
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/DebeziumConsumer.java
Name: org.apache.camel.component.debezium.DebeziumConsumer.onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event)
    private void onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event) {
        final Exchange exchange = endpoint.createDbzExchange(this, event.value());

        try {
             
            getProcessor().process(exchange);
        } catch (Exception ex) {
            exchange.setException(ex);
        } finally {
             
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange,
                        exchange.getException());
            }
            releaseExchange(exchange, false);
        }
    }
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #180 Negative (Non-Clone)
ID: 2588_2192
ClassID: 2588
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
Name: org.apache.camel.maven.packaging.PrepareComponentMojo.syncAllComponentsPomFile()
    private void syncAllComponentsPomFile() throws MojoExecutionException {
        Path root = findCamelDirectory(project.getBasedir(), "catalog/camel-allcomponents").toPath();
        Path pomFile = root.resolve("pom.xml");

        final String startDependenciesMarker = "<dependencies>";
        final String endDependenciesMarker = "</dependencies>";

        if (!Files.isRegularFile(pomFile)) {
            throw new MojoExecutionException("Pom file " + pomFile + " does not exist");
        }

        try {
            final String pomText = loadText(pomFile);

            final String before = Strings.before(pomText, startDependenciesMarker);
            final String after = Strings.after(pomText, endDependenciesMarker);

            final String between = pomText.substring(before.length(), pomText.length() - after.length());

             
            Pattern pattern = Pattern.compile(
                    "<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>");
            Matcher matcher = pattern.matcher(between);
            TreeSet<MavenGav> dependencies = new TreeSet<>();
            while (matcher.find()) {
                MavenGav gav = new MavenGav(matcher.group(1), matcher.group(2), "${project.version}", null);
                dependencies.add(gav);
            }
             
            dependencies.add(new MavenGav(project.getGroupId(), project.getArtifactId(), "${project.version}", null));

             
            String s = dependencies.stream()
                     
                    .filter(g -> !g.artifactId.contains("-maven-plugin"))
                    .map(g -> g.asString("        "))
                    .collect(Collectors.joining("\n"));
            final String updatedPom = before + startDependenciesMarker
                                      + "\n" + s + "\n"
                                      + "    " + endDependenciesMarker + after;

            updateResource(root, "pom.xml", updatedPom);
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + pomFile + " Reason: " + e, e);
        }
    }
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
Pair #181 Negative (Non-Clone)
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
ID: 2638_2277
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(String endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            String endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #182 Negative (Non-Clone)
ID: 3269_2637
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy)
    private static void invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy) {
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onBeforeRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onBeforeRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onBeforeRoute. This exception will be ignored.", e);
                }
            }
        }
    }
ID: 1722_1442
ClassID: 1722
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/aggregation/OpensearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.opensearch.aggregation.OpensearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (ObjectHelper.isNotEmpty(oldExchange)) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #183 Negative (Non-Clone)
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
ID: 1752_1455
ClassID: 1752
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY);
        }
        return key;
    }
Pair #184 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #185 Negative (Non-Clone)
ID: 3242_2571
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/AvroDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.AvroDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == AvroLibrary.ApacheAvro) {
            if (definition.getInstanceClassName() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClassName", definition.getInstanceClassName());
            }
            properties.put("schema", definition.getSchema());
        } else if (definition.getLibrary() == AvroLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClassName()));
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #186 Negative (Non-Clone)
ID: 698_638
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsert(Exchange exchange, SqlSession session)
    private void doInsert(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Inserting: {} using statement: {}", value, statement);
                result = session.insert(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #187 Negative (Non-Clone)
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
ID: 1282_1127
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteEdge()
    private Function<Exchange, Object> deleteEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                edgeCollection.deleteEdge(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #188 Negative (Non-Clone)
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #189 Negative (Non-Clone)
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 1752_1455
ClassID: 1752
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY);
        }
        return key;
    }
Pair #190 Negative (Non-Clone)
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
Pair #191 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 2556_2125
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByRouteId(String directory, String routeId)
    public static List<CoverageData> parseDumpRouteCoverageByRouteId(String directory, String routeId) throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (routeId == null) {
            return answer;
        }
        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    if (routeId.equals(id)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        parseRouteData(catalog, route, answer, counter, routeId);
                    }
                }
            }
        }

        return answer;
    }
Pair #192 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
Pair #193 Negative (Non-Clone)
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
Pair #194 Negative (Non-Clone)
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 410_440
ClassID: 410
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
Pair #195 Negative (Non-Clone)
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 2190_1727
ClassID: 2190
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.deleteVolume(Exchange exchange)
    private void deleteVolume(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        Delete delete;
        if (ObjectHelper.isEmpty(volumeId)) {
            String name = exchange.getIn().getHeader(DigitalOceanHeaders.NAME, String.class);
            String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

            if (ObjectHelper.isEmpty(name) && ObjectHelper.isEmpty(region)) {
                throw new IllegalArgumentException(
                        DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.NAME + " and " + DigitalOceanHeaders.REGION
                                                   + " must be specified");
            }

            delete = getEndpoint().getDigitalOceanClient().deleteVolume(name, region);

        } else {
            delete = getEndpoint().getDigitalOceanClient().deleteVolume(volumeId);
        }

        LOG.trace("Delete Volume [{}] ", delete);
        exchange.getMessage().setBody(delete);

    }
Pair #196 Negative (Non-Clone)
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
Pair #197 Negative (Non-Clone)
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
Pair #198 Negative (Non-Clone)
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 174_144
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatchQuery(String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatchQuery(
            String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        final byte[] queryBytes;
        try {
            queryBytes = soqlQuery.getBytes(StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Unexpected exception: " + e.getMessage(), e));
            return;
        }
        post.body(new BytesRequestContent(queryBytes));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(jobContentType) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #199 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #200 Negative (Non-Clone)
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #201 Negative (Non-Clone)
ID: 2296_1817
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildAsyncClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkAsyncClientBuilder<B, C>, C extends SdkClient> C buildAsyncClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        NettyNioAsyncHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring async proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            software.amazon.awssdk.http.nio.netty.ProxyConfiguration proxyConfig
                    = software.amazon.awssdk.http.nio.netty.ProxyConfiguration.builder()
                            .scheme(config.getProxyProtocol().toString())
                            .host(config.getProxyHost())
                            .port(config.getProxyPort())
                            .build();
            httpClientBuilder = NettyNioAsyncHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = NettyNioAsyncHttpClient.builder();
            }
            SdkAsyncHttpClient asyncHttpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(asyncHttpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
Pair #202 Negative (Non-Clone)
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2229_1746
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemove(Exchange exchange, String operation)
    protected void doRemove(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.rm().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #203 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #204 Negative (Non-Clone)
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #205 Negative (Non-Clone)
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #206 Negative (Non-Clone)
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 3210_2483
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
Name: org.apache.camel.impl.console.DebugDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
Pair #207 Negative (Non-Clone)
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #208 Negative (Non-Clone)
ID: 1213_1035
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
Pair #209 Negative (Non-Clone)
ID: 201_229
ClassID: 201
File: systems/camel-java/components/camel-wasm/src/main/java/org/apache/camel/language/wasm/WasmExpression.java
Name: org.apache.camel.language.wasm.WasmExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
ID: 1137_971
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        Registry registry = getEndpoint().getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }

        initService(commitService);
    }
Pair #210 Negative (Non-Clone)
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #211 Negative (Non-Clone)
ID: 2098_1694
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
Name: org.apache.camel.component.file.remote.FtpsEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPSClient client = getFtpsClient();

        if (client == null) {
             
             
            client = (FTPSClient) createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPSClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpsOperations operations = new FtpsOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
ID: 1422_1266
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.run()
        public void run() {
             
            LOG.info("Listening on port {}", serversocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {

                     
                    final Socket inSocket = serversocket.accept();

                     
                    final Thread t = new RequestHandlerThread(this.service.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
Pair #212 Negative (Non-Clone)
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #213 Negative (Non-Clone)
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #214 Negative (Non-Clone)
ID: 2372_1865
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.rebootInstances(Ec2Client ec2Client, Exchange exchange)
    private void rebootInstances(Ec2Client ec2Client, Exchange exchange) throws InvalidPayloadException {
        Collection<String> instanceIds;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RebootInstancesRequest) {
                try {
                    LOG.trace("Rebooting instances with Ids [{}] ", ((RebootInstancesRequest) payload).instanceIds());
                    ec2Client.rebootInstances((RebootInstancesRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            RebootInstancesRequest.Builder builder = RebootInstancesRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS))) {
                instanceIds = exchange.getIn().getHeader(AWS2EC2Constants.INSTANCES_IDS, Collection.class);
                builder.instanceIds(instanceIds);
            } else {
                throw new IllegalArgumentException(MISSING_INSTANCES_MESSAGE);
            }
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
                }

                ec2Client.rebootInstances(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Reboot Instances command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #215 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
Pair #216 Negative (Non-Clone)
ID: 3212_2487
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                mps.add(mp);
            }
        }
         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        ProcessorDevConsole.includeProcessorsText(getCamelContext(), sb, 0, null, mps);
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #217 Negative (Non-Clone)
ID: 1492_1334
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final UUID node)
    public static String nodeValue(final String namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #218 Negative (Non-Clone)
ID: 3210_2483
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
Name: org.apache.camel.impl.console.DebugDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
ID: 1116_951
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getAccessKey(ImageRecognitionEndpoint endpoint)
    private String getAccessKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getAccessKey())) {
            return endpoint.getAccessKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getAccessKey())) {
            return endpoint.getServiceKeys().getAccessKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'access key (AK)' not found");
        }
    }
Pair #219 Negative (Non-Clone)
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 2098_1694
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
Name: org.apache.camel.component.file.remote.FtpsEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPSClient client = getFtpsClient();

        if (client == null) {
             
             
            client = (FTPSClient) createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPSClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpsOperations operations = new FtpsOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #220 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 3276_2655
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isInstanceOf(final Expression expression, final Class<?> type)
    public static Predicate isInstanceOf(final Expression expression, final Class<?> type) {
        notNull(expression, "expression");
        notNull(type, "type");

        return new Predicate() {
            public boolean matches(Exchange exchange) {
                Object value = expression.evaluate(exchange, Object.class);
                return type.isInstance(value);
            }

            @Override
            public void init(CamelContext camelContext) {
                expression.init(camelContext);
            }

            @Override
            public String toString() {
                return expression + " instanceof " + type.getCanonicalName();
            }
        };
    }
Pair #221 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 3247_2586
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEventNotifierStrategies()
    private void setupEventNotifierStrategies() {
        Map<String, EventNotifier> eventNotifiers = getContext().getRegistry().findByTypeWithName(EventNotifier.class);
        if (eventNotifiers != null && !eventNotifiers.isEmpty()) {
            for (Entry<String, EventNotifier> entry : eventNotifiers.entrySet()) {
                EventNotifier notifier = entry.getValue();
                 
                if (!getContext().getManagementStrategy().getEventNotifiers().contains(notifier)) {
                    LOG.info("Using custom EventNotifier with id: {} and implementation: {}", entry.getKey(), notifier);
                    getContext().getManagementStrategy().addEventNotifier(notifier);
                }
            }
        }
    }
Pair #222 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
Pair #223 Negative (Non-Clone)
ID: 781_708
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeUrl(Exchange exchange)
    private void analyzeUrl(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String url = exchange.getIn().getHeader(WatsonLanguageConstants.URL, String.class);
        if (url == null) {
            url = exchange.getIn().getBody(String.class);
        }

        if (url == null || url.isBlank()) {
            throw new IllegalArgumentException("URL to analyze must be specified");
        }

        LOG.trace("Analyzing URL with NLU: {}", url);

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .url(url)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #224 Negative (Non-Clone)
ID: 2479_2026
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 1032_882
ClassID: 1032
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
    public static HttpMethods createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
        String queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
             
            uriString = UnsafeUriCharactersEncoder.encodeHttpURI(uriString);
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }

        HttpMethods answer;
        if (endpoint.getHttpMethod() != null) {
             
            answer = endpoint.getHttpMethod();
        } else {
             
            HttpMethods m = exchange.getIn().getHeader(Exchange.HTTP_METHOD, HttpMethods.class);
            if (m != null) {
                 
                answer = m;
            } else if (queryString != null) {
                 
                answer = HttpMethods.GET;
            } else {
                 
                answer = hasPayload ? HttpMethods.POST : HttpMethods.GET;
            }
        }

        return answer;
    }
Pair #225 Negative (Non-Clone)
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
Pair #226 Negative (Non-Clone)
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #227 Negative (Non-Clone)
ID: 909_787
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateDownloadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateDownloadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateDownloadUrlRequest.class);
            response = client.generateDownloadUrl(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            GenerateDownloadUrlRequest request = GenerateDownloadUrlRequest.newBuilder().setName(cfName.toString())
                    .build();
            response = client.generateDownloadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getDownloadUrl());
    }
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
Pair #228 Negative (Non-Clone)
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #229 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #230 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
Pair #231 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #232 Negative (Non-Clone)
ID: 1954_1592
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/ManagementProducer.java
Name: org.apache.camel.component.torchserve.producer.ManagementProducer.unregister(Exchange exchange)
    private void unregister(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        UnregisterOptions options = Optional
                .ofNullable(message.getHeader(TorchServeConstants.UNREGISTER_OPTIONS, UnregisterOptions.class))
                .or(() -> Optional.ofNullable(configuration.getUnregisterOptions()))
                .orElse(UnregisterOptions.empty());
        Response response;
        if (modelVersion == null) {
            response = this.management.unregisterModel(modelName, options);
        } else {
            response = this.management.unregisterModel(modelName, modelVersion, options);
        }
        message.setBody(response.getStatus());
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #233 Negative (Non-Clone)
ID: 9_0
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, LoadingCache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "LoadingCache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #234 Negative (Non-Clone)
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
ID: 1858_1520
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.loadExistingKeys()
    private void loadExistingKeys() throws Exception {
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        if (keyIds != null) {
            LOG.info("Found {} existing keys in Vault", keyIds.size());

            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        LOG.debug("Loaded existing key from Vault: {}", metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load key from Vault: {}", keyId, e);
                }
            }
        }
    }
Pair #235 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 103_80
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateUser(Keycloak keycloakClient, Exchange exchange)
    private void updateUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                keycloakClient.realm(realmName).users().get(userId).update((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("User updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update user requires POJO request with UserRepresentation");
        }
    }
Pair #236 Negative (Non-Clone)
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #237 Negative (Non-Clone)
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #238 Negative (Non-Clone)
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
Pair #239 Negative (Non-Clone)
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #240 Negative (Non-Clone)
ID: 3278_2659
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThan(final Expression left, final Expression right)
    public static Predicate isLessThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) < 0;
            }

            protected String getOperationText() {
                return "<";
            }
        };
    }
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #241 Negative (Non-Clone)
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #242 Negative (Non-Clone)
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
Pair #243 Negative (Non-Clone)
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #244 Negative (Non-Clone)
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #245 Negative (Non-Clone)
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
Pair #246 Negative (Non-Clone)
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
Pair #247 Negative (Non-Clone)
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #248 Negative (Non-Clone)
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 2667_2351
ClassID: 2667
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
Name: org.apache.camel.processor.loadbalancer.FailOverLoadBalancer.shouldFailOver(Exchange exchange)
    protected boolean shouldFailOver(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (exceptions == null || exceptions.isEmpty()) {
                 
                answer = true;
            } else {
                for (Class<?> exception : exceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }

            if (answer) {
                 
                statistics.onHandledFailure(exchange.getException());
            }
        }

        if (LOG.isTraceEnabled()) {
            LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
        }

        return answer;
    }
Pair #249 Negative (Non-Clone)
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #250 Negative (Non-Clone)
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
ID: 2186_1716
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.complete(URL lra, Exchange exchange)
    public CompletableFuture<Void> complete(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CLOSE), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot complete LRA");
            }

            return null;
        });
    }
Pair #251 Negative (Non-Clone)
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
Pair #252 Negative (Non-Clone)
ID: 1738_1449
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketClientConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketClientConsumer.processExchange(Exchange exchange)
    protected void processExchange(Exchange exchange) {
        Vertx vertx = getEndpoint().getVertx();
        vertx.executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #253 Negative (Non-Clone)
ID: 285_354
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toLong(JsonNode node, Exchange exchange)
    public Long toLong(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToLong()) {
                return nn.asLong();
            }
        }
        String text = node.asText();
        return Long.valueOf(text);
    }
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
Pair #254 Negative (Non-Clone)
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1690_1413
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            if (camelContext == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    camelContext = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts != null && contexts.size() == 1) {
                        camelContext = contexts.values().iterator().next();
                    }
                }
            }
            return camelContext;
        }
Pair #255 Negative (Non-Clone)
ID: 1752_1456
ClassID: 1752
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
        }
        return key;
    }
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #256 Negative (Non-Clone)
ID: 2509_2061
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.extendsType(ClassInfo ci, DotName superType)
    protected boolean extendsType(ClassInfo ci, DotName superType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(superType)) {
            return true;
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return extendsType(
                    view.getClassByName(superName),
                    superType);
        }

        return false;
    }
ID: 3218_2500
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasFallbackConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasFallbackConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidFallbackConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method is not "
                         + "a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method "
                             + "returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    if (isStatic(modifiers)) {
                        registerFallbackTypeConverter(registry,
                                new StaticMethodFallbackTypeConverter(method, registry, allowNull), method);
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerFallbackTypeConverter(registry,
                                new InstanceMethodFallbackTypeConverter(injector, method, registry, allowNull), method);
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method should have "
                     + "one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
Pair #257 Negative (Non-Clone)
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 1406_1259
ClassID: 1406
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprPubSubConsumer.java
Name: org.apache.camel.component.dapr.consumer.DaprPubSubConsumer.createServiceBusExchange(final CloudEvent<byte[]> cloudEvent)
    private Exchange createServiceBusExchange(final CloudEvent<byte[]> cloudEvent) {
        final Exchange exchange = createExchange(true);
        final Message message = exchange.getIn();

         
        message.setBody(cloudEvent.getData());

         
        message.setHeader(DaprConstants.PUBSUB_NAME, cloudEvent.getPubsubName());
        message.setHeader(DaprConstants.TOPIC, cloudEvent.getTopic());
        message.setHeader(DaprConstants.ID, cloudEvent.getId());
        message.setHeader(DaprConstants.SOURCE, cloudEvent.getSource());
        message.setHeader(DaprConstants.TYPE, cloudEvent.getType());
        message.setHeader(DaprConstants.SPECIFIC_VERSION, cloudEvent.getSpecversion());
        message.setHeader(DaprConstants.DATA_CONTENT_TYPE, cloudEvent.getDatacontenttype());
        message.setHeader(DaprConstants.BINARY_DATA, cloudEvent.getBinaryData());
        message.setHeader(DaprConstants.TIME, cloudEvent.getTime());
        message.setHeader(DaprConstants.TRACE_PARENT, cloudEvent.getTraceParent());
        message.setHeader(DaprConstants.TRACE_STATE, cloudEvent.getTraceState());

        return exchange;
    }
Pair #258 Negative (Non-Clone)
ID: 576_547
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.listObjects(MinioClient minioClient, Exchange exchange)
    private void listObjects(MinioClient minioClient, Exchange exchange) throws InvalidPayloadException {

        if (getConfiguration().isPojoRequest()) {
            ListObjectsArgs.Builder payload = exchange.getIn().getMandatoryBody(ListObjectsArgs.Builder.class);
            if (isNotEmpty(payload)) {
                Iterable<Result<Item>> objectList = minioClient.listObjects(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(objectList);
            }
        } else {
            final String bucketName = determineBucketName(exchange);

            Iterable<Result<Item>> objectList = minioClient.listObjects(ListObjectsArgs.builder()
                    .bucket(bucketName)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(objectList);
        }
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #259 Negative (Non-Clone)
ID: 880_734
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/FloatFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.FloatFormatFactory.parse(String string)
        public Float parse(String string) throws Exception {
            float value;
            if (!super.hasImpliedDecimalPosition()) {
                value = Float.parseFloat(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).floatValue();
            }

            return value;
        }
ID: 1033_883
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
Name: org.apache.camel.component.undertow.UndertowEndpoint.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList<>();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, getEndpointUri())) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
        if (this.securityProvider == null) {
            this.securityProvider = getComponent().getSecurityProvider();
        }
    }
Pair #260 Negative (Non-Clone)
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
ID: 2507_2057
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf)
    protected static AnnotationSpec yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }
        if (!Strings.isNullOrEmpty(oneOf)) {
            builder.addMember("oneOf", "$S", oneOf);
        }

        return builder.build();
    }
Pair #261 Negative (Non-Clone)
ID: 1492_1331
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final String node)
    public static String nodeValue(final String namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #262 Negative (Non-Clone)
ID: 1289_1134
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final Reader reader)
    public static XQueryBuilder xquery(final Reader reader) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException, IOException {
                try {
                    return staticQueryContext.compileQuery(reader);
                } finally {
                    IOHelper.close(reader);
                }
            }
        };
    }
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #263 Negative (Non-Clone)
ID: 2273_1799
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(final Exchange exchange, final String messageId)
    public boolean contains(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("contains {} -> {}", messageId, rc[0]);
        return rc[0];
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #264 Negative (Non-Clone)
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #265 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 3164_2421
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPollEnricher.java
Name: org.apache.camel.management.mbean.ManagedPollEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #266 Negative (Non-Clone)
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #267 Negative (Non-Clone)
ID: 879_730
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
Pair #268 Negative (Non-Clone)
ID: 2092_1682
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getFtpFiles(String dir)
    private FTPFile[] getFtpFiles(String dir) {
        FTPFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 2639_2281
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue)
    protected Processor createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                exchange.setProperty(property, propertyValue);
                Message in = exchange.getIn();
                in.setBody(body);
            }
        };
    }
Pair #269 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #270 Negative (Non-Clone)
ID: 1320_1226
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.configMaps().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, ConfigMap configMap) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(configMap.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Configmaps: {} detected, triggering CamelContext reload",
                                        configMap.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 1309_1165
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.eventReceived(Action action, HorizontalPodAutoscaler resource)
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #271 Negative (Non-Clone)
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #272 Negative (Non-Clone)
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
Pair #273 Negative (Non-Clone)
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
Pair #274 Negative (Non-Clone)
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
Pair #275 Negative (Non-Clone)
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
ID: 3164_2418
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #276 Negative (Non-Clone)
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #277 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #278 Negative (Non-Clone)
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 31_53
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #279 Negative (Non-Clone)
ID: 1871_1541
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #280 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
Pair #281 Negative (Non-Clone)
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #282 Negative (Non-Clone)
ID: 18_20
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer target = (org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer) obj;
        switch (key) {
        case "delete_key":
        case "DELETE_KEY": target.deleteKey(exchange.getMessage()); return null;
        case "delete_keys":
        case "DELETE_KEYS": target.deleteKeys(exchange.getMessage()); return null;
        case "get_keys":
        case "GET_KEYS": target.getKeys(exchange.getMessage()); return null;
        case "get_sessions":
        case "GET_SESSIONS": target.getSessions(exchange.getMessage()); return null;
        case "get_value":
        case "GET_VALUE": target.getValue(exchange.getMessage()); return null;
        case "get_values":
        case "GET_VALUES": target.getValues(exchange.getMessage()); return null;
        case "lock":
        case "LOCK": target.lock(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.put(exchange.getMessage()); return null;
        case "unlock":
        case "UNLOCK": target.unlock(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #283 Negative (Non-Clone)
ID: 3208_2475
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<JsonObject> list = new ArrayList<>();
        root.put("services", list);

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            JsonObject jo = new JsonObject();
            jo.put("component", es.getComponent());
            jo.put("direction", es.getDirection());
            jo.put("hosted", es.isHostedService());
            jo.put("protocol", es.getServiceProtocol());
            jo.put("serviceUrl", es.getServiceUrl());
            jo.put("endpointUri", es.getEndpointUri());
            if (es.getRouteId() != null) {
                jo.put("routeId", es.getRouteId());
            }
            jo.put("hits", es.getHits());
            var map = es.getServiceMetadata();
            if (map != null) {
                jo.put("metadata", map);
            }
            list.add(jo);
        }

        return root;
    }
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #284 Negative (Non-Clone)
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 3308_2721
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate)
    private LanguageValidationResult doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = groovy.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(groovy);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.groovy.GroovyLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("validatePredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("validateExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.groovy.GroovyValidationException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                if (answer.getShortError() == null) {
                     
                    String msg = answer.getError();
                     
                    LineNumberReader lnr = new LineNumberReader(new StringReader(msg));
                    try {
                        String line = lnr.readLine();
                        do {
                            if (line.contains(" @ ")) {
                                 
                                if (line.startsWith("Script_") && StringHelper.countChar(line, ':') > 2) {
                                    line = StringHelper.after(line, ":", line);
                                    line = StringHelper.after(line, ":", line);
                                    line = line.trim();
                                }
                                answer.setShortError(line);
                                break;
                            }
                            line = lnr.readLine();
                        } while (line != null);
                    } catch (Exception e) {
                         
                    }
                }
            }
        }

        return answer;
    }
Pair #285 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 2478_2024
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #286 Negative (Non-Clone)
ID: 1310_1187
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 3261_2621
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        Set<T> answer = new LinkedHashSet<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.add(type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }
        return answer;
    }
Pair #287 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #288 Negative (Non-Clone)
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #289 Negative (Non-Clone)
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #290 Negative (Non-Clone)
ID: 1547_1365
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/SetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.SetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = connection.setData(node, data, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'  with '%d' bytes of data, retrieved statistics '%s' ",
                            node, data != null ? data.length : 0, statistics));
                } else {
                    LOG.debug(format("Set data of node '%s' with '%d' bytes of data", node, data != null ? data.length : 0));
                }
            }
            return new OperationResult<>(data, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 309_379
ClassID: 309
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/AbstractHttpSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.AbstractHttpSegmentDecorator.getHttpUrl(Exchange exchange, Endpoint endpoint)
    protected String getHttpUrl(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #291 Negative (Non-Clone)
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #292 Negative (Non-Clone)
ID: 1162_994
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setData(T data)
    public void setData(T data) {
        Objects.requireNonNull(data, "data must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.data = data;
        flushCycle();
    }
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #293 Negative (Non-Clone)
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
Pair #294 Negative (Non-Clone)
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #295 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #296 Negative (Non-Clone)
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #297 Negative (Non-Clone)
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #298 Negative (Non-Clone)
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #299 Negative (Non-Clone)
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
Pair #300 Negative (Non-Clone)
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
ID: 3163_2415
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRandomLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRandomLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #301 Negative (Non-Clone)
ID: 3170_2439
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsJSon(Integer index, Boolean includeBody)
    public String browseMessageAsJSon(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsJSon(msg, includeBody);
    }
ID: 484_511
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #302 Negative (Non-Clone)
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #303 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #304 Negative (Non-Clone)
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #305 Negative (Non-Clone)
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #306 Negative (Non-Clone)
ID: 1958_1598
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

         
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVectorId(topK, indexId, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
ID: 1498_1344
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePCL(String flavor)
    public DocFlavor forMimeTypePCL(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PCL;
        }

        return d;
    }
Pair #307 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
Pair #308 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 2451_1943
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDataFormatNames()) {
            DataFormatModel model = catalog.dataFormatModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #309 Negative (Non-Clone)
ID: 3176_2448
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchema()
    public Schema getSchema() throws IOException, SAXException {
        if (schema == null) {
            lock.lock();
            try {
                if (schema == null) {
                    schema = createSchema();
                }
            } finally {
                lock.unlock();
            }
        }
        return schema;
    }
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #310 Negative (Non-Clone)
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #311 Negative (Non-Clone)
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
Pair #312 Negative (Non-Clone)
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #313 Negative (Non-Clone)
ID: 1511_1355
ClassID: 1511
File: systems/camel-java/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/NettyHttpConverterLoader.java
Name: org.apache.camel.component.netty.http.NettyHttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toBytes((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, io.netty.buffer.ByteBuf.class, org.apache.camel.component.netty.http.NettyChannelBufferStreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toByteBuf((org.apache.camel.component.netty.http.NettyChannelBufferStreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toInputStream((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toString((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #314 Negative (Non-Clone)
ID: 2646_2302
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #315 Negative (Non-Clone)
ID: 1722_1442
ClassID: 1722
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/aggregation/OpensearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.opensearch.aggregation.OpensearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (ObjectHelper.isNotEmpty(oldExchange)) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
ID: 924_798
ClassID: 924
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubComponent.getCredentialsProvider(GooglePubsubEndpoint endpoint)
    private CredentialsProvider getCredentialsProvider(GooglePubsubEndpoint endpoint) throws IOException {
        CredentialsProvider credentialsProvider;

        if (endpoint.isAuthenticate()) {
            credentialsProvider = FixedCredentialsProvider.create(ObjectHelper.isEmpty(endpoint.getServiceAccountKey())
                    ? GoogleCredentials.getApplicationDefault() : ServiceAccountCredentials.fromStream(ResourceHelper
                            .resolveMandatoryResourceAsInputStream(getCamelContext(), endpoint.getServiceAccountKey()))
                            .createScoped(PublisherStubSettings.getDefaultServiceScopes()));
        } else {
            credentialsProvider = NoCredentialsProvider.create();
        }

        return credentialsProvider;
    }
Pair #316 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #317 Negative (Non-Clone)
ID: 1256_1102
ClassID: 1256
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 879_730
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
Pair #318 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #319 Negative (Non-Clone)
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #320 Negative (Non-Clone)
ID: 2581_2178
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.doLoadJavaSource(String className)
    private String doLoadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

             
            if (file == null && className.startsWith("org.apache.camel.support.")) {
                return null;
            }

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #321 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #322 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
Pair #323 Negative (Non-Clone)
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #324 Negative (Non-Clone)
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #325 Negative (Non-Clone)
ID: 2640_2284
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariables(Map<String, Object> variables)
    public FluentProducerTemplate withVariables(Map<String, Object> variables) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariables and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.putAll(variables);
        return clone;
    }
ID: 2647_2303
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName, boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
    public boolean setProperty(
            CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName,
            boolean allowBuilderPattern, boolean allowPrivateSetter, boolean ignoreCase)
            throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, typeConverter, target, name, value, refName, allowBuilderPattern,
                allowPrivateSetter, ignoreCase);
    }
Pair #326 Negative (Non-Clone)
ID: 3221_2506
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SingleQuoteStart.java
Name: org.apache.camel.language.simple.ast.SingleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
ID: 3235_2554
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeadersReifier.java
Name: org.apache.camel.reifier.SetHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getHeaders().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one header specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        for (SetHeaderDefinition hdrDef : definition.getHeaders()) {
            valueExprs.add(createExpression(hdrDef.getExpression()));
            Expression nameExpr;
            String key = parseString(hdrDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetHeadersProcessor answer = new SetHeadersProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #327 Negative (Non-Clone)
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #328 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 977_825
ClassID: 977
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
    public void marshallExchange(
            Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        encode(pe, outputStream);
    }
Pair #329 Negative (Non-Clone)
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
Pair #330 Negative (Non-Clone)
ID: 1449_1306
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unidentifiedRecord(UnidentifiedRecordException ex)
    public void unidentifiedRecord(UnidentifiedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnidentifiedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnidentifiedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
Pair #331 Negative (Non-Clone)
ID: 1893_1564
ClassID: 1893
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.parseArguments(String[] arguments)
    private boolean parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Error: Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }

        return valid;
    }
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #332 Negative (Non-Clone)
ID: 2586_2188
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateEndpointConfigurer(Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateEndpointConfigurer(
            Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes,
            ComponentModel componentModel, ComponentModel parentData) {
        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();

        String pfqn;
        boolean hasSuper;
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
            try {
                pfqn = classElement.getSuperclass().getName() + "Configurer";
                hasSuper = true;
            } catch (NoClassDefFoundError e) {
                pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
                hasSuper = false;
                parentData = null;
            }
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqEndpointClassName = classElement.getName();
        String endpointClassName = fqEndpointClassName.substring(fqEndpointClassName.lastIndexOf('.') + 1);
        String className = endpointClassName + "Configurer";
        String packageName = fqEndpointClassName.substring(0, fqEndpointClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<EndpointOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getEndpointParameterOptions().stream()
                    .map(EndpointOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getEndpointParameterOptions().stream()
                    .filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getEndpointParameterOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, endpointClassName,
                pfqn, psn,
                componentModel.getScheme() + "-endpoint", hasSuper, false,
                options, componentModel);
    }
ID: 3244_2576
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertVariableReifier.java
Name: org.apache.camel.reifier.ConvertVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertVariableProcessor answer
                = new ConvertVariableProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #333 Negative (Non-Clone)
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 3217_2497
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodFallbackTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodFallbackTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, type, exchange, value, registry) : (T) ObjectHelper
                        .invokeMethod(method, instance, type, value, registry);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #334 Negative (Non-Clone)
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
ID: 1431_1291
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationEDIEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationEDIEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationEntity applicationEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationEntity = parseEDIEntityBody(inBuffer, is, null, contentType, contentTransferEncoding, "");
            applicationEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
Pair #335 Negative (Non-Clone)
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 181_170
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
    private <T> T unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, typeRef);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
Pair #336 Negative (Non-Clone)
ID: 1636_1404
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/BeanDefinitionParser.java
Name: org.apache.camel.spring.xml.handler.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #337 Negative (Non-Clone)
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #338 Negative (Non-Clone)
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #339 Negative (Non-Clone)
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
ID: 716_657
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            final Span processorSpan = tracer.getTracer().spanBuilder(getOperationName(processorDefinition))
                    .setParent(Context.current().with(span))
                    .setAttribute("component", getComponentName(processorDefinition))
                    .startSpan();

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(processorSpan));
            }

            try (Scope ignored = processorSpan.makeCurrent()) {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
                processorSpan.end();
            }
        }
Pair #340 Negative (Non-Clone)
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #341 Negative (Non-Clone)
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #342 Negative (Non-Clone)
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #343 Negative (Non-Clone)
ID: 1500_1353
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignOrientation(final String orientation)
    public OrientationRequested assignOrientation(final String orientation) {
        OrientationRequested answer;

        if (orientation == null) {
             
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("portrait")) {
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("landscape")) {
            answer = OrientationRequested.LANDSCAPE;
        } else if (orientation.equalsIgnoreCase("reverse-portrait")) {
            answer = OrientationRequested.REVERSE_PORTRAIT;
        } else if (orientation.equalsIgnoreCase("reverse-landscape")) {
            answer = OrientationRequested.REVERSE_LANDSCAPE;
        } else {
            answer = OrientationRequested.PORTRAIT;
        }

        return answer;
    }
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #344 Negative (Non-Clone)
ID: 3168_2433
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.stop()
    public void stop() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().stopRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error stopping route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #345 Negative (Non-Clone)
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #346 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 1433_1294
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseTextPlainEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static TextPlainEntity parseTextPlainEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            String text = parseBodyPartText(inbuffer, is, boundary);
            if (contentTransferEncoding != null) {
                text = EntityUtils.decode(text, charset, contentTransferEncoding);
            }
            return new TextPlainEntity(text, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #347 Negative (Non-Clone)
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #348 Negative (Non-Clone)
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
Pair #349 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #350 Negative (Non-Clone)
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
ID: 188_198
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.deleteJob(Exchange exchange, AsyncCallback callback)
    private void deleteJob(Exchange exchange, AsyncCallback callback) throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #351 Negative (Non-Clone)
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
Pair #352 Negative (Non-Clone)
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
ID: 1282_1132
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findDocumentByKey()
    private Function<Exchange, Object> findDocumentByKey() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;

                return collection.getDocument(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #353 Negative (Non-Clone)
ID: 3333_2732
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsFunction(ThrowingFunction<I, R, T> function)
    public static <I, R, T extends Throwable> Function<I, R> wrapAsFunction(ThrowingFunction<I, R, T> function) {
        return new Function<>() {
            @Override
            public R apply(I in) {
                try {
                    return function.apply(in);

                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
Pair #354 Negative (Non-Clone)
ID: 497_523
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 3247_2588
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupClusterService()
    private void setupClusterService() throws Exception {
        Map<String, CamelClusterService> clusterServices
                = getContext().getRegistry().findByTypeWithName(CamelClusterService.class);
        if (clusterServices != null && !clusterServices.isEmpty()) {
            for (Entry<String, CamelClusterService> entry : clusterServices.entrySet()) {
                CamelClusterService service = entry.getValue();
                LOG.info("Using CamelClusterService with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #355 Negative (Non-Clone)
ID: 1318_1223
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                root.put("masterUrl", client.getMasterUrl().toString());
                root.put("login", "OAuth Token");
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (secretsRefreshTask != null) {
            Instant start = secretsRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("secrets", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 467_500
ClassID: 467
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.AS2ApiCollection()
    private AS2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(AS2ApiName.class);
        final Map<Class<? extends ApiMethod>, AS2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName", "receiptDeliveryOption", "ediMessageCharset", "userName", "password", "accessToken");
        apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper<>(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.SERVER, new ApiMethodHelper<>(AS2ServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ServerManagerApiMethod.class, AS2ApiName.SERVER);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.RECEIPT, new ApiMethodHelper<>(AS2AsyncMDNServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2AsyncMDNServerManagerApiMethod.class, AS2ApiName.RECEIPT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #356 Negative (Non-Clone)
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #357 Negative (Non-Clone)
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #358 Negative (Non-Clone)
ID: 2648_2305
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onComponentAdd(String name, Component component)
    public void onComponentAdd(String name, Component component) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<ComponentCustomizer.Policy> filters = registry.findByType(ComponentCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, component))) {
            registry.findByType(ComponentCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, component))
                    .forEach(customizer -> customizer.configure(name, component));
        }
    }
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #359 Negative (Non-Clone)
ID: 2557_2128
ClassID: 2557
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
Name: org.apache.camel.util.xml.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (!textBuffer.isEmpty()) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
Pair #360 Negative (Non-Clone)
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #361 Negative (Non-Clone)
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #362 Negative (Non-Clone)
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
Pair #363 Negative (Non-Clone)
ID: 2509_2062
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.implementType(ClassInfo ci, DotName interfaceType)
    protected boolean implementType(ClassInfo ci, DotName interfaceType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(interfaceType)) {
            return true;
        }

        for (DotName name : ci.interfaceNames()) {
            if (name.equals(interfaceType)) {
                return true;
            }
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return implementType(
                    view.getClassByName(superName),
                    interfaceType);
        }

        return false;
    }
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
Pair #364 Negative (Non-Clone)
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
ID: 3275_2651
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.next()
        public Object next() {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext();
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
Pair #365 Negative (Non-Clone)
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
ID: 2442_1922
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getStatus(SuspendedRow r)
    private String getStatus(SuspendedRow r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = "Created";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(done).reset().toString();
            } else {
                return done;
            }
        }
        if (!r.done) {
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a("Breakpoint").reset().toString();
            } else {
                return "Breakpoint";
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
Pair #366 Negative (Non-Clone)
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
ID: 716_657
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            final Span processorSpan = tracer.getTracer().spanBuilder(getOperationName(processorDefinition))
                    .setParent(Context.current().with(span))
                    .setAttribute("component", getComponentName(processorDefinition))
                    .startSpan();

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(processorSpan));
            }

            try (Scope ignored = processorSpan.makeCurrent()) {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
                processorSpan.end();
            }
        }
Pair #367 Negative (Non-Clone)
ID: 127_118
ClassID: 127
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<FaultToleranceProcessor> cbs = new ArrayList<>();
        for (Route route : getCamelContext().getRoutes()) {
            List<Processor> list = route.filter("*");
            for (Processor p : list) {
                if (p instanceof FaultToleranceProcessor) {
                    cbs.add((FaultToleranceProcessor) p);
                }
            }
        }
         
        cbs.sort(Comparator.comparing(FaultToleranceProcessor::getId));

        final List<JsonObject> list = new ArrayList<>();
        for (FaultToleranceProcessor cb : cbs) {
            JsonObject jo = new JsonObject();
            jo.put("id", cb.getId());
            jo.put("routeId", cb.getRouteId());
            jo.put("state", cb.getCircuitBreakerState());
            list.add(jo);
        }
        root.put("circuitBreakers", list);

        return root;
    }
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
Pair #368 Negative (Non-Clone)
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
Pair #369 Negative (Non-Clone)
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #370 Negative (Non-Clone)
ID: 1371_1238
ClassID: 1371
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/dataformat/thrift/ThriftDataFormat.java
Name: org.apache.camel.dataformat.thrift.ThriftDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected TBase loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (TBase.class.isAssignableFrom(instanceClass)) {
            try {
                return (TBase) instanceClass.getDeclaredConstructor().newInstance();
            } catch (final Exception ex) {
                throw new CamelException(
                        "Cannot set the defaultInstance of ThriftDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Cannot set the defaultInstance of ThriftDataFormat with " + className
                                     + ", as the class is not a subClass of org.apache.thrift.TBase");
        }
    }
ID: 1720_1435
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #371 Negative (Non-Clone)
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #372 Negative (Non-Clone)
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
Pair #373 Negative (Non-Clone)
ID: 3284_2678
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertVariableProcessor.java
Name: org.apache.camel.support.processor.ConvertVariableProcessor.ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName, Class<?> type, String charset, boolean mandatory)
    public ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName,
                                    Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(variableName, "variableName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.variableName = variableName;
        this.toName = toName;
        this.toVariableName = toVariableName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #374 Negative (Non-Clone)
ID: 2667_2352
ClassID: 2667
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.hasFailed(Exchange exchange)
    private boolean hasFailed(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (throttledExceptions == null || throttledExceptions.isEmpty()) {
                 
                 
                answer = true;
            } else {
                for (Class<?> exception : throttledExceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }
        }

        if (LOG.isDebugEnabled()) {
            String exceptionName
                    = exchange.getException() == null ? "none" : exchange.getException().getClass().getSimpleName();
            LOG.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName,
                    exchange.getExchangeId());
        }
        return answer;
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #375 Negative (Non-Clone)
ID: 2614_2262
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateJBangModel(JsonObject obj)
    public static JBangModel generateJBangModel(JsonObject obj) {
        JBangModel model = new JBangModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            JBangGroupModel group = new JBangGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            JBangOptionModel option = new JBangOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #376 Negative (Non-Clone)
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #377 Negative (Non-Clone)
ID: 3160_2403
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.processExchange(Exchange exchange, String type)
    public void processExchange(Exchange exchange, String type) {
        if (counter1.isStatisticsEnabled()) {
            counter1.processExchange(exchange, type);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.processExchange(exchange, type);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.processExchange(exchange, type);
        }
    }
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #378 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
Pair #379 Negative (Non-Clone)
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #380 Negative (Non-Clone)
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 3243_2574
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/MethodCallExpressionReifier.java
Name: org.apache.camel.reifier.language.MethodCallExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[7];
        properties[0] = asResultType();
        properties[1] = definition.getInstance();
        properties[2] = parseString(definition.getMethod());
        properties[3] = definition.getBeanType();
        properties[4] = parseString(definition.getRef());
        properties[5] = parseString(definition.getScope());
        properties[6] = parseString(definition.getValidate());
        return properties;
    }
Pair #381 Negative (Non-Clone)
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
Pair #382 Negative (Non-Clone)
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
Pair #383 Negative (Non-Clone)
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
Pair #384 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 715_656
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry2/src/main/java/org/apache/camel/opentelemetry2/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry2.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    private Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
Pair #385 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 2566_2145
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateMimeTypeHelper.java
Name: org.apache.camel.maven.packaging.UpdateMimeTypeHelper.updateMimeTypeHelper(File camelDir, Map<String, String> types)
    private boolean updateMimeTypeHelper(File camelDir, Map<String, String> types) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/MimeTypeHelper.java");
        String text = PackageHelper.loadText(java);
        String spaces4 = "    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner("\n");
        for (var e : types.entrySet()) {
            sb.add(spaces12 + "case \"" + e.getKey() + "\" -> \"" + e.getValue() + "\";");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, TYPES_START_TOKEN, TYPES_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, TYPES_START_TOKEN);
                String after = Strings.after(text, TYPES_END_TOKEN);
                text = before + TYPES_START_TOKEN + "\n" + spaces12 + changed + "\n" + spaces12 + TYPES_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #386 Negative (Non-Clone)
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
Pair #387 Negative (Non-Clone)
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #388 Negative (Non-Clone)
ID: 1859_1521
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 3230_2534
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionSingleExpression()
    public static Expression fileOnlyNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext.single";
            }
        };
    }
Pair #389 Negative (Non-Clone)
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #390 Negative (Non-Clone)
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
Pair #391 Negative (Non-Clone)
ID: 3244_2576
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertVariableReifier.java
Name: org.apache.camel.reifier.ConvertVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertVariableProcessor answer
                = new ConvertVariableProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #392 Negative (Non-Clone)
ID: 2474_2015
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseTraceLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        int doneTraces = 0;
        for (Row r : rows) {
            printTrace(r.name, pids.size(), r, limit);
            if (r.done) {
                doneTraces++;
            }
        }

        if (latest) {
             
            return doneTraces == 0;
        } else {
            return true;
        }
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #393 Negative (Non-Clone)
ID: 227_267
ClassID: 227
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        FTPFile[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFtpFilesFast(operations, file);
        } else {
            files = getFtpFilesByFilter(operations, file);
        }
        return files;
    }
ID: 337_381
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.manualCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult manualCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
            boolean breakOnErrorHit = processException(exchange, exceptionHandler);
            if (breakOnErrorHit) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
        }
        return ProcessingResult.newUnprocessed();
    }
Pair #394 Negative (Non-Clone)
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #395 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 467_497
ClassID: 467
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.GoogleSheetsApiCollection()
    private GoogleSheetsApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleSheetsApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.SPREADSHEETS, new ApiMethodHelper<>(SheetsSpreadsheetsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsApiMethod.class, GoogleSheetsApiName.SPREADSHEETS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.DATA, new ApiMethodHelper<>(SheetsSpreadsheetsValuesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsValuesApiMethod.class, GoogleSheetsApiName.DATA);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #396 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #397 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
Pair #398 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #399 Negative (Non-Clone)
ID: 1275_1119
ClassID: 1275
File: systems/camel-java/core/camel-support/src/generated/java/org/apache/camel/converter/stream/StreamCacheBulkConverterLoader.java
Name: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #400 Negative (Non-Clone)
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #401 Negative (Non-Clone)
ID: 902_777
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Gmail makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Gmail client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 738_663
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-sqlserver/src/generated/java/org/apache/camel/component/debezium/sqlserver/configuration/SqlServerConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "data.query.mode", dataQueryMode);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "database.instance", databaseInstance);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "database.names", databaseNames);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.allow.schema.changes", incrementalSnapshotAllowSchemaChanges);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "streaming.fetch.size", streamingFetchSize);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.option.recompile", incrementalSnapshotOptionRecompile);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "max.iteration.transactions", maxIterationTransactions);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #402 Negative (Non-Clone)
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 1984_1626
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/CodeInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.CodeInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionType> detected = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (!detectTypes.contains(pattern.getType())) {
                continue;
            }

            if (pattern.getPattern().matcher(text).find()) {
                detected.add(pattern.getType());

                if (strict) {
                    return failure(String.format(
                            "Potential code injection detected: %s. " +
                                                 "Please remove any code or command patterns from your message.",
                            pattern.getType()));
                }
            }
        }

         
        if (!strict && detected.size() >= 2) {
            return failure(String.format(
                    "Multiple potential code injection patterns detected: %s. " +
                                         "Please rephrase your message without code-like syntax.",
                    detected));
        }

        return success();
    }
Pair #403 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #404 Negative (Non-Clone)
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #405 Negative (Non-Clone)
ID: 342_396
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newBuilder() {
        final Properties producerProperties = KafkaResumeStrategyConfigurationBuilder.createProducerProperties();
        final Properties consumerProperties = KafkaResumeStrategyConfigurationBuilder.createConsumerProperties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);
        builder.withCacheFillPolicy(Cacheable.FillPolicy.MAXIMIZING);

        return builder;
    }
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #406 Negative (Non-Clone)
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
Pair #407 Negative (Non-Clone)
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #408 Negative (Non-Clone)
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 1511_1354
ClassID: 1511
File: systems/camel-java/components/camel-exec/src/generated/java/org/apache/camel/component/exec/ExecResultConverterLoader.java
Name: org.apache.camel.component.exec.ExecResultConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToByteArray((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToInputStream((org.apache.camel.component.exec.ExecResult) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToString((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Document.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToDocument((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #409 Negative (Non-Clone)
ID: 1275_1120
ClassID: 1275
File: systems/camel-java/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
Name: org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 2295_1812
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                LOG.trace("{} request performing", operationName);
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #410 Negative (Non-Clone)
ID: 3267_2634
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
    public Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotations, Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithAnyPackageScanFilter(annotations, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 2041_1648
ClassID: 2041
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.doShutdown()
    protected void doShutdown() throws Exception {
        super.doShutdown();

        if (cloudTrailClient != null) {
            try {
                cloudTrailClient.close();
            } catch (Exception e) {
                 
            }
            cloudTrailClient = null;
        }

        if (sqsClient != null) {
            try {
                sqsClient.close();
            } catch (Exception e) {
                 
            }
            sqsClient = null;
        }

        updates.clear();
    }
Pair #411 Negative (Non-Clone)
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
Pair #412 Negative (Non-Clone)
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #413 Negative (Non-Clone)
ID: 119_111
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPublicKeyName(String publicKeyName)
    public void setPublicKeyName(String publicKeyName) {
        if (context != null && publicKeyName != null) {
            PublicKey pk = context.getRegistry().lookupByNameAndType(publicKeyName, PublicKey.class);
            if (pk != null) {
                setPublicKey(pk);
            }
        }
        if (publicKeyName != null) {
            this.publicKeyName = publicKeyName;
        }
    }
ID: 2458_1957
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyMavenWrapper()
    protected void copyMavenWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, ".mvn/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path mvnwPath = Paths.get(BUILD_DIR, "mvnw");
        Path mvnwCmdPath = Paths.get(BUILD_DIR, "mvnw.cmd");
        Path wrapperJarPath = wrapperPath.resolve("maven-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("maven-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw")) {
            Files.copy(is, mvnwPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw.cmd")) {
            Files.copy(is, mvnwCmdPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(mvnwPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(mvnwCmdPath, "rwxr-xr-x");
    }
Pair #414 Negative (Non-Clone)
ID: 1087_929
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopVertx()
    protected void stopVertx() {
        if (this.vertx == null || !this.localVertx) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                        vertx.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.debug("Vert.x stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.vertx = null;
            this.localVertx = false;
        }
    }
ID: 2564_2139
ClassID: 2564
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
Name: org.apache.camel.maven.packaging.MvelHelper.apiMethodAlias(ApiModel api, ApiMethodModel method)
    public static String apiMethodAlias(ApiModel api, ApiMethodModel method) {
        String name = method.getName();
        for (String alias : api.getAliases()) {
            int pos = alias.indexOf('=');
            String pattern = alias.substring(0, pos);
            String aliasMethod = alias.substring(pos + 1);
             
            if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) {
                return aliasMethod;
            }
        }
         
        return "";
    }
Pair #415 Negative (Non-Clone)
ID: 1282_1132
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findDocumentByKey()
    private Function<Exchange, Object> findDocumentByKey() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;

                return collection.getDocument(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
Pair #416 Negative (Non-Clone)
ID: 2521_2076
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyComponent) component).setClientMode((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyComponent) component).setNativeTransport((boolean) value); return true;
            case "options": getOrCreateConfiguration((NettyComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #417 Negative (Non-Clone)
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #418 Negative (Non-Clone)
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #419 Negative (Non-Clone)
ID: 1852_1505
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPrivateKey(PrivateKey privateKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPrivateKeyToPEM(privateKey);
            case DER:
            case PKCS8:
                return privateKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for private key: " + format);
        }
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #420 Negative (Non-Clone)
ID: 970_811
ClassID: 970
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
Name: org.apache.camel.component.sql.DefaultSqlEndpoint.doStart()
    protected void doStart() throws Exception {
        if (isServiceLocationEnabled()) {
             
            BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext());
            DataSource ds = getDataSource();
             
            if (ds != null && ds.getClass().getName().endsWith("ClientProxy")) {
                DataSource actual = UnwrapHelper.unwrapClientProxy(ds);
                if (actual != null) {
                    ds = actual;
                }
            }
            serviceUrl = SqlServiceLocationHelper.getJDBCURLFromDataSource(bi, ds);

            serviceMetadata = new HashMap<>();
            String user = SqlServiceLocationHelper.getUsernameFromConnectionFactory(bi, ds);
            if (user != null) {
                serviceMetadata.put("username", user);
            }
        }
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #421 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #422 Negative (Non-Clone)
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 2421_1900
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-route-parser/src/main/java/org/apache/camel/dsl/jbang/core/commands/parser/RouteParserCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.parser.RouteParserCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
Pair #423 Negative (Non-Clone)
ID: 1130_966
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.listen(String requestUri, HttpRequestHandler handler)
    public void listen(String requestUri, HttpRequestHandler handler) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.registerHandler(requestUri, handler);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #424 Negative (Non-Clone)
ID: 1887_1557
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 1240_1066
ClassID: 1240
File: systems/camel-java/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaConverterLoader.java
Name: org.apache.camel.component.mina.MinaConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toByteArray((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toInputStream((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.ObjectInput.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toObjectInput((org.apache.mina.core.buffer.IoBuffer) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.mina.core.buffer.IoBuffer.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toString((org.apache.mina.core.buffer.IoBuffer) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.mina.core.buffer.IoBuffer.class, org.apache.camel.StreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mina.MinaConverter.toIoBuffer((org.apache.camel.StreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #425 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 444_471
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketStringDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketStringDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(payload.toString(charset), msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #426 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 467_498
ClassID: 467
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
Name: org.apache.camel.component.olingo2.internal.Olingo2ApiCollection.Olingo2ApiCollection()
    private Olingo2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo2ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler");
        apiHelpers.put(Olingo2ApiName.DEFAULT, new ApiMethodHelper<>(Olingo2AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo2AppApiMethod.class, Olingo2ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #427 Negative (Non-Clone)
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #428 Negative (Non-Clone)
ID: 2478_2025
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #429 Negative (Non-Clone)
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #430 Negative (Non-Clone)
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #431 Negative (Non-Clone)
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #432 Negative (Non-Clone)
ID: 2595_2197
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAction(String packed, int offset, int[] result)
    private static int zzUnpackAction(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
ID: 635_568
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
Pair #433 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 2505_2054
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter)
    public static List<MethodInfo> methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter) {
        List<MethodInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (MethodInfo methodInfo : current.methods()) {
                if (filter.test(methodInfo)) {
                    answer.add(methodInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #434 Negative (Non-Clone)
ID: 2092_1682
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getFtpFiles(String dir)
    private FTPFile[] getFtpFiles(String dir) {
        FTPFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #435 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 1861_1527
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #436 Negative (Non-Clone)
ID: 2026_1645
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object url = props.get("brokerURL");
        if (url != null) {
            return url.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getBrokerURLFromConnectionFactory(bi, ncf);
            }
        }
        return artemisBrokerURL(cf);
    }
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #437 Negative (Non-Clone)
ID: 3228_2523
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.joinExpression(final String expression, final String separator, final String prefix)
    public static Expression joinExpression(final String expression, final String separator, final String prefix) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.joinExpression(exp, separator, prefix);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                if (prefix != null) {
                    return "join(" + expression + "," + separator + "," + prefix + ")";
                } else {
                    return "join(" + expression + "," + separator + ")";
                }
            }
        };
    }
ID: 2668_2353
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
Pair #438 Negative (Non-Clone)
ID: 412_446
ClassID: 412
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #439 Negative (Non-Clone)
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #440 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #441 Negative (Non-Clone)
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 303_362
ClassID: 303
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/HttpMethodHelper.java
Name: org.apache.camel.tracing.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
Pair #442 Negative (Non-Clone)
ID: 1841_1502
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping Consumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping Consumer");
            }
            doStop();
        }
        if (trigger == null) {
            startUnTriggered();
        } else {
            startTriggered();
        }
    }
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #443 Negative (Non-Clone)
ID: 2540_2115
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findJavaRouteBuilderClasses(Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project)
    public static void findJavaRouteBuilderClasses(
            Set<File> javaFiles, boolean includeJava, boolean includeTest, MavenProject project) {
        if (includeJava) {
            for (String dir : project.getCompileSourceRoots()) {
                FileUtil.findJavaFiles(new File(dir), javaFiles);
            }
            if (includeTest) {
                for (String dir : project.getTestCompileSourceRoots()) {
                    FileUtil.findJavaFiles(new File(dir), javaFiles);
                }
            }
        }
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #444 Negative (Non-Clone)
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
Pair #445 Negative (Non-Clone)
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #446 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #447 Negative (Non-Clone)
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #448 Negative (Non-Clone)
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
ID: 1309_1168
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.eventReceived(Action action, ConfigMap resource)
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #449 Negative (Non-Clone)
ID: 1313_1205
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doCreateOrUpdateReplicationController(Exchange exchange, String operationName, Function<Resource<ReplicationController>, ReplicationController> operation)
    private void doCreateOrUpdateReplicationController(
            Exchange exchange, String operationName,
            Function<Resource<ReplicationController>, ReplicationController> operation) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerSpec rcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC, ReplicationControllerSpec.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("{} a specific replication controller require specify a replication controller name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific replication controller require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(rcSpec)) {
            LOG.error("{} a specific replication controller require specify a replication controller spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationController rcCreating = new ReplicationControllerBuilder().withNewMetadata().withName(rcName)
                .withLabels(labels).endMetadata().withSpec(rcSpec).build();
        ReplicationController rc
                = operation.apply(getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                        .resource(rcCreating));

        prepareOutboundMessage(exchange, rc);
    }
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #450 Negative (Non-Clone)
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #451 Negative (Non-Clone)
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #452 Negative (Non-Clone)
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #453 Negative (Non-Clone)
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2046_1658
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #454 Negative (Non-Clone)
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #455 Negative (Non-Clone)
ID: 1184_1006
ClassID: 1184
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        if (usingIterator) {
            ZipIterator zipIterator = new ZipIterator(exchange, inputStream);
            zipIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return zipIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(inputStream);
            ZipArchiveInputStream zis = new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.ZIP, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                ZipArchiveEntry entry = zis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(zis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
                }

                entry = zis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Zip file has more than 1 entry.");
                }

                return osb.build();
            } finally {
                IOHelper.close(osb, zis, bis);
            }
        }
    }
ID: 3276_2655
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isInstanceOf(final Expression expression, final Class<?> type)
    public static Predicate isInstanceOf(final Expression expression, final Class<?> type) {
        notNull(expression, "expression");
        notNull(type, "type");

        return new Predicate() {
            public boolean matches(Exchange exchange) {
                Object value = expression.evaluate(exchange, Object.class);
                return type.isInstance(value);
            }

            @Override
            public void init(CamelContext camelContext) {
                expression.init(camelContext);
            }

            @Override
            public String toString() {
                return expression + " instanceof " + type.getCanonicalName();
            }
        };
    }
Pair #456 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #457 Negative (Non-Clone)
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
ID: 2605_2234
ClassID: 2605
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #458 Negative (Non-Clone)
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #459 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 2659_2333
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LoopProcessor.java
Name: org.apache.camel.processor.LoopProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            LoopState state = new LoopState(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(state);
            } else {
                reactiveExecutor.scheduleMain(state);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #460 Negative (Non-Clone)
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
Pair #461 Negative (Non-Clone)
ID: 1111_945
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private ImageClient initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getImageClient() != null) {
            LOG.info(
                    "Instance of ImageClient was set on the endpoint. Skipping creation of ImageClient from endpoint parameters");
            this.imageClient = endpoint.getImageClient();
            return endpoint.getImageClient();
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        imageClient = ImageClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Image client");
        }
        return imageClient;
    }
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
Pair #462 Negative (Non-Clone)
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
ID: 975_822
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredJdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version, true);

                } catch (Exception e) {
                    throw new RuntimeException(
                            "Error removing key " + correlationId + " from repository " + getRepositoryName(), e);
                }
            }
        });
    }
Pair #463 Negative (Non-Clone)
ID: 104_88
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createUser(Keycloak keycloakClient, Exchange exchange)
    private void createUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                Response response = keycloakClient.realm(realmName).users().create((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            UserRepresentation user = new UserRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USERNAME))) {
                String username = exchange.getIn().getHeader(KeycloakConstants.USERNAME, String.class);
                user.setUsername(username);
                user.setEnabled(true);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_EMAIL))) {
                    user.setEmail(exchange.getIn().getHeader(KeycloakConstants.USER_EMAIL, String.class));
                }
                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_FIRST_NAME))) {
                    user.setFirstName(exchange.getIn().getHeader(KeycloakConstants.USER_FIRST_NAME, String.class));
                }
                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.USER_LAST_NAME))) {
                    user.setLastName(exchange.getIn().getHeader(KeycloakConstants.USER_LAST_NAME, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_USER_NAME);
            }
            Response response = keycloakClient.realm(realmName).users().create(user);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #464 Negative (Non-Clone)
ID: 2442_1923
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getStatus(Row r)
    private String getStatus(Row r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = r.parent.depth == 1 ? "Created" : "Routing to " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            String s = r.parent.depth == 0 ? done : "Returning from " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
        if (!r.done) {
            String s = remote ? "Sending" : "Processing";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
ID: 2612_2253
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateLanguageModel(JsonObject obj)
    public static LanguageModel generateLanguageModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("language");
        LanguageModel model = new LanguageModel();
        parseModel(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            LanguageOptionModel option = new LanguageOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        JsonObject mprf = (JsonObject) obj.get("functions");
        if (mprf != null) {
            for (Map.Entry<String, Object> entry : mprf.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                LanguageModel.LanguageFunctionModel func = new LanguageModel.LanguageFunctionModel();
                parseFunction(mp, func, entry.getKey());
                model.addFunction(func);
            }
        }
        return model;
    }
Pair #465 Negative (Non-Clone)
ID: 3335_2735
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstNotNull(ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstNotNull(ThrowingSupplier<T, Exception>... suppliers) throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (answer != null) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
Pair #466 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #467 Negative (Non-Clone)
ID: 1282_1127
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteEdge()
    private Function<Exchange, Object> deleteEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                edgeCollection.deleteEdge(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #468 Negative (Non-Clone)
ID: 926_803
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor)
    GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #469 Negative (Non-Clone)
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
ID: 1161_992
ClassID: 1161
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            new RouteBuilder() {
                @Override
                public void configure() {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            }.addRoutesToCamelContext(context);

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
Pair #470 Negative (Non-Clone)
ID: 2273_1798
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.remove(final Exchange exchange, final String messageId)
    public boolean remove(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

        Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    MessageProcessed processed = (MessageProcessed) list.get(0);
                    entityManager.remove(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("remove {}", messageId);
        return rc[0];
    }
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
Pair #471 Negative (Non-Clone)
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
ID: 1252_1089
ClassID: 1252
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected JtaTransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor,
            ErrorHandlerFactory builder) {
        JtaTransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
Pair #472 Negative (Non-Clone)
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
Pair #473 Negative (Non-Clone)
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
ID: 305_369
ClassID: 305
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        if (path == null) {
            LOG.warn("The provided path is null and has no parameters to be evaluated");
            return Collections.emptyList();
        }

        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #474 Negative (Non-Clone)
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #475 Negative (Non-Clone)
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #476 Negative (Non-Clone)
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #477 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #478 Negative (Non-Clone)
ID: 306_372
ClassID: 306
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/messaging/KafkaSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.messaging.KafkaSegmentDecorator.pre(Entity segment, Exchange exchange, Endpoint endpoint)
    public void pre(Entity segment, Exchange exchange, Endpoint endpoint) {
        super.pre(segment, exchange, endpoint);

        String partition = (String) exchange.getIn().getHeader(PARTITION);
        if (partition != null) {
            segment.putMetadata(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = (String) exchange.getIn().getHeader(PARTITION_KEY);
        if (partitionKey != null) {
            segment.putMetadata(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = (String) exchange.getIn().getHeader(KEY);
        if (key != null) {
            segment.putMetadata(KAFKA_KEY_TAG, key);
        }

        String offset = (String) exchange.getIn().getHeader(OFFSET);
        if (offset != null) {
            segment.putMetadata(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
Pair #479 Negative (Non-Clone)
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 452_481
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.copyFile(String fileId, String destinationFolderId, String newName)
    public BoxFile copyFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToCopy = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return fileToCopy.copy(destinationFolder).getResource();
            } else {
                return fileToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #480 Negative (Non-Clone)
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
Pair #481 Negative (Non-Clone)
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #482 Negative (Non-Clone)
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #483 Negative (Non-Clone)
ID: 3179_2456
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument("utf-8", "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                writer.writeAttribute(
                                        reader.getAttributePrefix(i), reader.getAttributeNamespace(i),
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                writer.writeNamespace(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getCharArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #484 Negative (Non-Clone)
ID: 1320_1226
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.configMaps().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, ConfigMap configMap) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(configMap.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Configmaps: {} detected, triggering CamelContext reload",
                                        configMap.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #485 Negative (Non-Clone)
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #486 Negative (Non-Clone)
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #487 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
Pair #488 Negative (Non-Clone)
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
Pair #489 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 898_761
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarComponent.getClient(GoogleCalendarConfiguration config)
    public Calendar getClient(GoogleCalendarConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Calendar client");
            }
        }
        return client;
    }
Pair #490 Negative (Non-Clone)
ID: 1973_1606
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.get(Exchange exchange)
    private void get(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, String> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        Collection.GetResult result = collection.get(ids, where, whereDocument);

        in.setBody(result);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #491 Negative (Non-Clone)
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 1042_905
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #492 Negative (Non-Clone)
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #493 Negative (Non-Clone)
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #494 Negative (Non-Clone)
ID: 379_416
ClassID: 379
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/ClassicJmsHeaderFilterStrategy.java
Name: org.apache.camel.component.jms.ClassicJmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add(JmsConstants.JMS_HEADER_XUSER_ID);
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #495 Negative (Non-Clone)
ID: 702_647
ClassID: 702
File: systems/camel-java/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
Name: org.apache.camel.component.splunkhec.SplunkHECEndpoint.provideSSLContext()
    SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #496 Negative (Non-Clone)
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
Pair #497 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #498 Negative (Non-Clone)
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #499 Negative (Non-Clone)
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #500 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #501 Negative (Non-Clone)
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #502 Negative (Non-Clone)
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #503 Negative (Non-Clone)
ID: 3298_2711
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
Name: org.apache.camel.catalog.EndpointValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (incapable != null) {
                return "\tIncapable of parsing uri: " + incapable;
            } else if (syntaxError != null) {
                return "\tSyntax error: " + syntaxError;
            } else if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (notConsumerOnly != null) {
            for (String name : notConsumerOnly) {
                options.put(name, "Option not applicable in consumer only mode");
            }
        }
        if (notProducerOnly != null) {
            for (String name : notProducerOnly) {
                options.put(name, "Option not applicable in producer only mode");
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder(512);
        if (includeHeader) {
            sb.append("Endpoint validator error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (uri != null) {
            sb.append("\t").append(uri).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, option.getKey(), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #504 Negative (Non-Clone)
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
Pair #505 Negative (Non-Clone)
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #506 Negative (Non-Clone)
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #507 Negative (Non-Clone)
ID: 1011_876
ClassID: 1011
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Producer.java
Name: org.apache.camel.component.olingo4.Olingo4Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo4Constants.FULL_RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }
        return false;

    }
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #508 Negative (Non-Clone)
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #509 Negative (Non-Clone)
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #510 Negative (Non-Clone)
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #511 Negative (Non-Clone)
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
Pair #512 Negative (Non-Clone)
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #513 Negative (Non-Clone)
ID: 2538_2114
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadRuntimeProviderVersion(String groupId, String artifactId, String version)
    public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String gav = String.format("%s:%s:%s", groupId, artifactId, version);
            resolve(mavenDownloader, gav, version.contains("SNAPSHOT"));

            this.runtimeProviderVersion = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load runtime provider version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
Pair #514 Negative (Non-Clone)
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
Pair #515 Negative (Non-Clone)
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 2582_2180
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(ParameterizedType type, TypeVariable<?> variable)
    private static int getIndex(ParameterizedType type, TypeVariable<?> variable) {
        Type[] actualTypeArguments = type.getActualTypeArguments();
        for (int i = 0; i < actualTypeArguments.length; i++) {
            if (actualTypeArguments[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) actualTypeArguments[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
Pair #516 Negative (Non-Clone)
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
ID: 438_457
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(consumer.getConfiguration().isClientMode());
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #517 Negative (Non-Clone)
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
ID: 1315_1216
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doGetConfigMap(Exchange exchange)
    protected void doGetConfigMap(Exchange exchange) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
        }
        ConfigMap configMap;
        if (namespaceName != null) {
            configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get();
        } else {
            configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
        }

        prepareOutboundMessage(exchange, configMap);
    }
Pair #518 Negative (Non-Clone)
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #519 Negative (Non-Clone)
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
Pair #520 Negative (Non-Clone)
ID: 3308_2721
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate)
    private LanguageValidationResult doValidateGroovy(ClassLoader classLoader, String groovy, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = groovy.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(groovy);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.groovy.GroovyLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("validatePredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("validateExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.groovy.GroovyValidationException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                if (answer.getShortError() == null) {
                     
                    String msg = answer.getError();
                     
                    LineNumberReader lnr = new LineNumberReader(new StringReader(msg));
                    try {
                        String line = lnr.readLine();
                        do {
                            if (line.contains(" @ ")) {
                                 
                                if (line.startsWith("Script_") && StringHelper.countChar(line, ':') > 2) {
                                    line = StringHelper.after(line, ":", line);
                                    line = StringHelper.after(line, ":", line);
                                    line = line.trim();
                                }
                                answer.setShortError(line);
                                break;
                            }
                            line = lnr.readLine();
                        } while (line != null);
                    } catch (Exception e) {
                         
                    }
                }
            }
        }

        return answer;
    }
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #521 Negative (Non-Clone)
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 2522_2078
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMysqlComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMysqlComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMySqlComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMySqlComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMySqlComponent) component).setConfiguration((org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMySqlComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "bigintUnsignedHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBigintUnsignedHandlingMode((java.lang.String) value); return true;
            case "binlogBufferSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBinlogBufferSize((int) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "connectKeepAlive": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAlive((boolean) value); return true;
            case "connectKeepAliveIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAliveIntervalMs((long) value); return true;
            case "connectTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectTimeoutMs((int) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databaseJdbcDriver": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseJdbcDriver((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePort((int) value); return true;
            case "databaseProtocol": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseProtocol((java.lang.String) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseServerId": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerId((long) value); return true;
            case "databaseServerIdOffset": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerIdOffset((long) value); return true;
            case "databaseSslKeystore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystore((java.lang.String) value); return true;
            case "databaseSslKeystorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystorePassword((java.lang.String) value); return true;
            case "databaseSslMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslMode((java.lang.String) value); return true;
            case "databaseSslTruststore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststore((java.lang.String) value); return true;
            case "databaseSslTruststorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststorePassword((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "enableTimeAdjuster": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEnableTimeAdjuster((boolean) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMySqlComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventDeserializationFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventDeserializationFailureHandlingMode((java.lang.String) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "gtidSourceExcludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceExcludes((java.lang.String) value); return true;
            case "gtidSourceFilterDmlEvents": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceFilterDmlEvents((boolean) value); return true;
            case "gtidSourceIncludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceIncludes((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeQuery((boolean) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "inconsistentSchemaHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInconsistentSchemaHandlingMode((java.lang.String) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "minRowCountToStreamResults": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMinRowCountToStreamResults((int) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMySqlComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "useNongracefulDisconnect": getOrCreateConfiguration((DebeziumMySqlComponent) component).setUseNongracefulDisconnect((boolean) value); return true;
            default: return false;
            }
        }
Pair #522 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 440_460
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setIn(Exchange exchange, Object payload)
    public static void setIn(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getIn().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
             
            exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getIn().setBody(payload);
        }
    }
Pair #523 Negative (Non-Clone)
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
Pair #524 Negative (Non-Clone)
ID: 101_71
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(String accessToken, Exchange exchange)
    private void validateRoles(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userRoles;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userRoles = KeycloakSecurityHelper.extractRolesFromIntrospection(
                        introspectionResult, policy.getRealm(), policy.getClientId());
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userRoles = KeycloakSecurityHelper.extractRoles(token, policy.getRealm(), policy.getClientId());
            }

            boolean hasRequiredRoles = policy.isAllRolesRequired()
                    ? userRoles.containsAll(policy.getRequiredRolesAsList())
                    : policy.getRequiredRolesAsList().stream().anyMatch(userRoles::contains);

            if (!hasRequiredRoles) {
                String message = String.format("User does not have required roles. Required: %s, User has: %s",
                        policy.getRequiredRoles(), userRoles);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Role validation successful for user with roles: {}", userRoles);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate roles", exchange, e);
        }
    }
ID: 2294_1808
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.deleteCluster(EksClient eksClient, Exchange exchange)
    private void deleteCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                eksClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.deleteCluster(DeleteClusterRequest.builder().name(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #525 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #526 Negative (Non-Clone)
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #527 Negative (Non-Clone)
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
ID: 1428_1283
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/Importance.java
Name: org.apache.camel.component.as2.api.entity.Importance.get(String importance)
    public static Importance get(String importance) {
        if (importance == null) {
            return null;
        }

        switch (importance.toLowerCase()) {
            case "required":
                return REQUIRED;
            case "optional":
                return OPTIONAL;
            default:
                return null;
        }
    }
Pair #528 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #529 Negative (Non-Clone)
ID: 3098_2362
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.disabled(String disabled)
    public RestDefinition disabled(String disabled) {
        if (getVerbs().isEmpty()) {
            this.disabled = disabled;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setDisabled(disabled);
        }

        return this;
    }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #530 Negative (Non-Clone)
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #531 Negative (Non-Clone)
ID: 2386_1882
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPrivmsg(String target, IRCUser user, String msg)
        public void onPrivmsg(String target, IRCUser user, String msg) {
            if (configuration.isOnPrivmsg()) {
                Exchange exchange = createOnPrivmsgExchange(target, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #532 Negative (Non-Clone)
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
Pair #533 Negative (Non-Clone)
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
ID: 1861_1528
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #534 Negative (Non-Clone)
ID: 1557_1377
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.startRobustConnectionMonitor()
    private void startRobustConnectionMonitor() {
        Runnable connectionCheckRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    checkConnection();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the connection poller thread.", e);
                }
            }
        };
         
        getExecutor().scheduleAtFixedRate(connectionCheckRunnable, endpoint.getConnectionPollDelay(),
                endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #535 Negative (Non-Clone)
ID: 897_755
ClassID: 897
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/consumer/AbstractJiraConsumer.java
Name: org.apache.camel.component.jira.consumer.AbstractJiraConsumer.processBatch(Queue<Object> objects)
    public int processBatch(Queue<Object> objects) throws Exception {
        int total = objects.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            Object body = objects.poll();
            final Exchange exchange = createExchange(true);
            exchange.getIn().setBody(body);
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 2613_2260
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.XMLSecurityDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("secureTag", definition.getSecureTag());
        properties.put("secureTagContents", definition.getSecureTagContents());
        properties.put("passPhrase", or(definition.getPassPhrase(), definition.getPassPhraseByte()));
        properties.put("xmlCipherAlgorithm", definition.getXmlCipherAlgorithm());
        properties.put("keyCipherAlgorithm", definition.getKeyCipherAlgorithm());
        properties.put("recipientKeyAlias", definition.getRecipientKeyAlias());
        properties.put("keyOrTrustStoreParameters",
                or(definition.getKeyStoreParameters(), asRef(definition.getKeyOrTrustStoreParameters())));
        properties.put("namespaces", or(definition.getNamespaces(), asRef(definition.getNamespaceRef())));
        properties.put("keyPassword", definition.getKeyPassword());
        properties.put("digestAlgorithm", definition.getDigestAlgorithm());
        properties.put("mgfAlgorithm", definition.getMgfAlgorithm());
        properties.put("addKeyValueForEncryptedKey", definition.getAddKeyValueForEncryptedKey());
    }
Pair #536 Negative (Non-Clone)
ID: 1975_1611
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomCvPredictor.predict(Exchange exchange, Image image)
    protected T predict(Exchange exchange, Image image) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Image, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, image);
        try (Predictor<Image, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(image);
        } catch (TranslateException e) {
            LOG.error("Could not process input or output", e);
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 1000_854
ClassID: 1000
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createOlingo4App(Olingo4Configuration configuration)
    private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (IOException | GeneralSecurityException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo4AppImpl olingo4App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo4App = new Olingo4AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo4AppWrapper(olingo4App);
        apiProxy.getOlingo4App().setContentType(configuration.getContentType());
        apiProxy.getOlingo4App().setHttpHeaders(configuration.getHttpHeaders());

        return apiProxy;
    }
Pair #537 Negative (Non-Clone)
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 910_790
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            UpdateFunctionRequest request = exchange.getIn().getMandatoryBody(UpdateFunctionRequest.class);
            response = client.updateFunctionAsync(request).get();
        } else {
            throw new IllegalArgumentException("updateFunction is supported only in pojo mode");
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #538 Negative (Non-Clone)
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
ID: 768_700
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getModel(Exchange exchange)
    private void getModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelName = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelName == null) {
            modelName = exchange.getIn().getBody(String.class);
        }

        if (modelName == null || modelName.isBlank()) {
            throw new IllegalArgumentException("Model name must be specified");
        }

        LOG.trace("Getting model information for: {}", modelName);

        GetModelOptions options = new GetModelOptions.Builder()
                .modelId(modelName)
                .build();

        SpeechModel model = stt.getModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(model);
    }
Pair #539 Negative (Non-Clone)
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 1807_1478
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeExecStartRequest(DockerClient client, Message message)
    private ExecStartCmd executeExecStartRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Exec Start Request");

        String execId = DockerHelper.getProperty(DockerConstants.DOCKER_EXEC_ID, configuration, message, String.class);

        ObjectHelper.notNull(execId, "Exec ID must be specified");

        ExecStartCmd execStartCmd = client.execStartCmd(execId);

        Boolean detach = DockerHelper.getProperty(DockerConstants.DOCKER_DETACH, configuration, message, Boolean.class);

        if (detach != null) {
            execStartCmd.withDetach(detach);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execStartCmd.withTty(tty);
        }

        return execStartCmd;

    }
Pair #540 Negative (Non-Clone)
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #541 Negative (Non-Clone)
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
ID: 189_207
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetBatch(final Exchange exchange, final AsyncCallback callback)
    private void processGetBatch(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody = exchange.getIn().getBody(BatchInfo.class);
        String batchId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getBatch(jobId, batchId, determineHeaders(exchange), new BulkApiClient.BatchInfoResponseCallback() {
            @Override
            public void onResponse(BatchInfo batchInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfo, headers, ex, callback);
            }
        });
    }
Pair #542 Negative (Non-Clone)
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #543 Negative (Non-Clone)
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #544 Negative (Non-Clone)
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 1282_1122
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveDocument()
    private Function<Exchange, Object> saveDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                boolean isMultiInsert = exchange.getMessage().getHeader(MULTI_INSERT, false, Boolean.class);

                 
                if (isMultiInsert) {
                    Collection<Object> objects = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.insertDocuments(objects);
                }

                 
                Object obj = exchange.getMessage().getMandatoryBody();
                return collection.insertDocument(obj);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #545 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
Pair #546 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 3279_2668
ClassID: 3279
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotNull(final Expression expression)
    public static Predicate isNotNull(final Expression expression) {
        return new BinaryPredicateSupport(expression, ExpressionBuilder.constantExpression(null)) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue != null) {
                     
                    return true;
                }
                 
                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                 
                 
                return "is not";
            }
        };
    }
Pair #547 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
Pair #548 Negative (Non-Clone)
ID: 1410_1263
ClassID: 1410
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
Name: org.apache.camel.http.common.HttpCommonEndpoint.getPort()
    public int getPort() {
        if (httpUri.getPort() == -1) {
            if ("https".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return httpUri.getPort();
    }
ID: 2521_2076
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyComponent) component).setClientMode((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyComponent) component).setNativeTransport((boolean) value); return true;
            case "options": getOrCreateConfiguration((NettyComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
Pair #549 Negative (Non-Clone)
ID: 1498_1341
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeJPEG(String flavor)
    public DocFlavor forMimeTypeJPEG(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.JPEG;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.JPEG;
        }

        return d;
    }
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
Pair #550 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
Pair #551 Negative (Non-Clone)
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
Pair #552 Negative (Non-Clone)
ID: 3164_2420
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDynamicRouter.java
Name: org.apache.camel.management.mbean.ManagedDynamicRouter.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1428_1282
ClassID: 1428
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/LogicalOperatorType.java
Name: org.apache.camel.language.simple.types.LogicalOperatorType.asOperator(String text)
    public static LogicalOperatorType asOperator(String text) {
        switch (text) {
            case "&&":
                return AND;
            case "||":
                return OR;
            default:
                throw new IllegalArgumentException("Operator not supported: " + text);
        }
    }
Pair #553 Negative (Non-Clone)
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
ID: 903_779
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case LIST:
                apiProxy = getClient().calendarList();
                break;
            case ACL:
                apiProxy = getClient().acl();
                break;
            case CALENDARS:
                apiProxy = getClient().calendars();
                break;
            case CHANNELS:
                apiProxy = getClient().channels();
                break;
            case COLORS:
                apiProxy = getClient().colors();
                break;
            case EVENTS:
                apiProxy = getClient().events();
                break;
            case FREEBUSY:
                apiProxy = getClient().freebusy();
                break;
            case SETTINGS:
                apiProxy = getClient().settings();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #554 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #555 Negative (Non-Clone)
ID: 684_619
ClassID: 684
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/AbstractMicrometerProducer.java
Name: org.apache.camel.component.micrometer.AbstractMicrometerProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
ID: 103_77
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void createIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                Response response
                        = keycloakClient.realm(realmName).identityProviders().create((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException(
                    "Create identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #556 Negative (Non-Clone)
ID: 2043_1651
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyCommit(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {
        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
             
            if (key != null) {
                 
                if (endpoint.isIdempotentEager()) {
                    endpoint.getIdempotentRepository().confirm(key);
                } else {
                    endpoint.getIdempotentRepository().add(key);
                }
            }
        }

        handleDoneFile(exchange);

        try {
            LOG.trace("Commit file strategy: {} for file: {}", processStrategy, file);
            processStrategy.commit(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during commit", exchange, e);
        }
    }
ID: 2462_1966
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.updatePids(Map<Long, Row> rows)
    private void updatePids(Map<Long, Row> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Row row = new Row();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #557 Negative (Non-Clone)
ID: 2595_2197
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAction(String packed, int offset, int[] result)
    private static int zzUnpackAction(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #558 Negative (Non-Clone)
ID: 27_49
ClassID: 27
File: systems/camel-java/components/camel-snmp/src/generated/java/org/apache/camel/component/snmp/SnmpConvertersLoader.java
Name: org.apache.camel.component.snmp.SnmpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.snmp4j.PDU.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toString((org.snmp4j.PDU) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.snmp.OIDList.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toOIDList((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
Pair #559 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 679_605
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.doStart()
    protected void doStart() throws Exception {
        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerMessageHistoryService messageHistoryService
                    = camelContext.hasService(MicrometerMessageHistoryService.class);
            if (messageHistoryService == null) {
                messageHistoryService = new MicrometerMessageHistoryService();
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setMeterRegistry(getMeterRegistry());
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setDurationUnit(getDurationUnit());
                messageHistoryService.setMatchingTags(Tags.of(KIND, KIND_HISTORY));
                camelContext.addService(messageHistoryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

    }
Pair #560 Negative (Non-Clone)
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
Pair #561 Negative (Non-Clone)
ID: 1511_1356
ClassID: 1511
File: systems/camel-java/components/camel-file/src/generated/java/org/apache/camel/component/file/GenericFileConverterLoader.java
Name: org.apache.camel.component.file.GenericFileConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToInputStream((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.Reader.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToReader((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.Serializable.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToSerializable((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToString((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #562 Negative (Non-Clone)
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 1405_1256
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSmTemplate(Exchange exchange)
    protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitSm submitSm = new SubmitSm();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitSm.setDataCoding(config.getDataCoding());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            submitSm.setDestAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            submitSm.setDestAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            submitSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            submitSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            submitSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            submitSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitSm.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitSm.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitSm.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitSm.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitSm.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitSm.setReplaceIfPresent(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitSm.setReplaceIfPresent(config.getReplaceIfPresentFlag());
        }

        submitSm.setEsmClass(new ESMClass().value());

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitSm.setOptionalParameters();
            }
        }

        return submitSm;
    }
Pair #563 Negative (Non-Clone)
ID: 584_550
ClassID: 584
File: systems/camel-java/components/camel-fhir/camel-fhir-api/src/main/java/org/apache/camel/component/fhir/api/FhirHistory.java
Name: org.apache.camel.component.fhir.api.FhirHistory.processOptionalParams(Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped)
    private <T extends IBaseBundle> void processOptionalParams(
            Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped) {
        if (count != null) {
            tiHistoryTyped.count(count);
        }
        if (theCutoff != null) {
            tiHistoryTyped.since(theCutoff);
        }
        if (cutoff != null) {
            tiHistoryTyped.since(cutoff);
        }
    }
ID: 1994_1637
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = endpoint.createExchange(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
Pair #564 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1958_1598
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

         
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVectorId(topK, indexId, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
Pair #565 Negative (Non-Clone)
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 171_127
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkV2Operation(OperationName operationName)
    private boolean isBulkV2Operation(OperationName operationName) {
        switch (operationName) {
            case BULK2_CREATE_JOB:
            case BULK2_CREATE_BATCH:
            case BULK2_CLOSE_JOB:
            case BULK2_GET_JOB:
            case BULK2_ABORT_JOB:
            case BULK2_DELETE_JOB:
            case BULK2_GET_SUCCESSFUL_RESULTS:
            case BULK2_GET_FAILED_RESULTS:
            case BULK2_GET_UNPROCESSED_RECORDS:
            case BULK2_GET_ALL_JOBS:
            case BULK2_CREATE_QUERY_JOB:
            case BULK2_GET_QUERY_JOB:
            case BULK2_GET_QUERY_JOB_RESULTS:
            case BULK2_ABORT_QUERY_JOB:
            case BULK2_DELETE_QUERY_JOB:
            case BULK2_GET_ALL_QUERY_JOBS:
                return true;
            default:
                return false;
        }
    }
Pair #566 Negative (Non-Clone)
ID: 3272_2646
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
    public static URL resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
            throws FileNotFoundException, MalformedURLException {
        URL url = resolveResourceAsUrl(camelContext, uri);
        if (url == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " in classpath for URI: " + uri);
        } else {
            return url;
        }
    }
ID: 3310_2724
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getMainJsonSchema()
    public String getMainJsonSchema() {
        String path = "META-INF/camel-main-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #567 Negative (Non-Clone)
ID: 765_682
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.determineOperation(Exchange exchange)
    private WatsonDiscoveryOperations determineOperation(Exchange exchange) {
        WatsonDiscoveryOperations operation
                = exchange.getIn().getHeader(WatsonDiscoveryConstants.OPERATION, WatsonDiscoveryOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
Pair #568 Negative (Non-Clone)
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #569 Negative (Non-Clone)
ID: 2461_1963
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.doCall()
    public Integer doCall() throws Exception {
        Map<Long, Row> rows = new LinkedHashMap<>();

         
        updatePids(rows);
        if (!rows.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
            if (startup) {
                follow = false;
                 
                tailStartupLogFiles(rows);
                dumpLogFiles(rows, 0);
            } else if (tail != 0) {
                 
                tailLogFiles(rows, tail, limit);
                dumpLogFiles(rows, tail);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            StopWatch watch = new StopWatch();
            do {
                if (rows.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for logs ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(rows);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(rows);
                        watch.restart();
                    }
                    int lines = readLogFiles(rows);
                    if (lines > 0) {
                        dumpLogFiles(rows, 0);
                    } else {
                        Thread.sleep(100);
                    }
                }
            } while (running.get());
        }

        return 0;
    }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #570 Negative (Non-Clone)
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #571 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 2507_2058
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlPropertyWithFormat(String name, String type, String format, boolean required, boolean deprecated)
    protected static AnnotationSpec yamlPropertyWithFormat(
            String name, String type, String format, boolean required, boolean deprecated) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        builder.addMember("format", "$S", format);

        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }

        return builder.build();
    }
Pair #572 Negative (Non-Clone)
ID: 23_31
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2459_1959
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jibMavenPluginVersion(Path settings, Properties prop)
    protected static String jibMavenPluginVersion(Path settings, Properties prop) {
        String answer = null;
        if (prop != null) {
            answer = prop.getProperty(JIB_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream().filter(l -> l.startsWith(JIB_MAVEN_PLUGIN_VERSION + "="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "3.4.5";
    }
Pair #573 Negative (Non-Clone)
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
Pair #574 Negative (Non-Clone)
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #575 Negative (Non-Clone)
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
Pair #576 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #577 Negative (Non-Clone)
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #578 Negative (Non-Clone)
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #579 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 452_479
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.copyFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder copyFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToCopy = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return folderToCopy.copy(destinationFolder).getResource();
            } else {
                return folderToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #580 Negative (Non-Clone)
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
Pair #581 Negative (Non-Clone)
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #582 Negative (Non-Clone)
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
ID: 3218_2499
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn(
                        "Ignoring bad converter on type: {} method: {} as a converter method is not a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    Class<?> fromType = method.getParameterTypes()[0];
                    if (isStatic(modifiers)) {
                        registerTypeConverter(registry, method, toType, fromType,
                                new StaticMethodTypeConverter(method, allowNull));
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerTypeConverter(registry, method, toType, fromType,
                                new InstanceMethodTypeConverter(injector, method, registry, allowNull));
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method should have one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
Pair #583 Negative (Non-Clone)
ID: 104_89
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak keycloakClient, Exchange exchange)
    private void createClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().create((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientRepresentation client = new ClientRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID))) {
                String clientId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID, String.class);
                client.setClientId(clientId);
                client.setEnabled(true);
            } else {
                throw new IllegalArgumentException(MISSING_CLIENT_ID);
            }
            Response response = keycloakClient.realm(realmName).clients().create(client);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
Pair #584 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 1993_1635
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromAdmin(Message message, SessionID sessionID)
        public void fromAdmin(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
            try {
                dispatch(QuickfixjEventCategory.AdminMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, RejectLogon.class);
                throw new DispatcherException(e);
            }
        }
Pair #585 Negative (Non-Clone)
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1458_1310
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceCompletion(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be completed in " + timeout, exception);
        }
    }
Pair #586 Negative (Non-Clone)
ID: 1720_1438
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
ID: 1306_1141
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.getLocalTimestamp(ConfigMap configMap, String group)
    private static Date getLocalTimestamp(ConfigMap configMap, String group) {
        String timestamp = getConfigMapValue(configMap, LOCAL_TIMESTAMP_PREFIX + group);
        if (timestamp == null) {
            return null;
        }

        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).parse(timestamp);
        } catch (Exception e) {
            LOG.warn("Unable to parse time string '{}' using format {}", timestamp, DATE_TIME_FORMAT, e);
        }

        return null;
    }
Pair #587 Negative (Non-Clone)
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
Pair #588 Negative (Non-Clone)
ID: 1720_1435
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #589 Negative (Non-Clone)
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #590 Negative (Non-Clone)
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
ID: 1033_884
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, null)) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
    }
Pair #591 Negative (Non-Clone)
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
ID: 1254_1095
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveLogger(DefaultErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(DefaultErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DefaultErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #592 Negative (Non-Clone)
ID: 1407_1260
ClassID: 1407
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppUtils.java
Name: org.apache.camel.component.smpp.SmppUtils.copySubmitMulti(SubmitMulti src)
    public static SubmitMulti copySubmitMulti(SubmitMulti src) {
        SubmitMulti dest = new SubmitMulti();
        dest.setCommandId(src.getCommandId());
        dest.setCommandLength(src.getCommandLength());
        dest.setCommandStatus(src.getCommandStatus());
        dest.setDataCoding(src.getDataCoding());
        dest.setDestAddresses(src.getDestAddresses());
        dest.setEsmClass(src.getEsmClass());
        dest.setOptionalParameters(src.getOptionalParameters());
        dest.setPriorityFlag(src.getPriorityFlag());
        dest.setProtocolId(src.getProtocolId());
        dest.setRegisteredDelivery(src.getRegisteredDelivery());
        dest.setReplaceIfPresentFlag(src.getReplaceIfPresentFlag());
        dest.setScheduleDeliveryTime(src.getScheduleDeliveryTime());
        dest.setSequenceNumber(src.getSequenceNumber());
        dest.setServiceType(src.getServiceType());
        dest.setShortMessage(src.getShortMessage());
        dest.setSmDefaultMsgId(src.getSmDefaultMsgId());
        dest.setSourceAddr(src.getSourceAddr());
        dest.setSourceAddrNpi(src.getSourceAddrNpi());
        dest.setSourceAddrTon(src.getSourceAddrTon());
        dest.setValidityPeriod(src.getValidityPeriod());
        return dest;
    }
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #593 Negative (Non-Clone)
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #594 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #595 Negative (Non-Clone)
ID: 104_89
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak keycloakClient, Exchange exchange)
    private void createClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().create((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientRepresentation client = new ClientRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID))) {
                String clientId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID, String.class);
                client.setClientId(clientId);
                client.setEnabled(true);
            } else {
                throw new IllegalArgumentException(MISSING_CLIENT_ID);
            }
            Response response = keycloakClient.realm(realmName).clients().create(client);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 15_14
ClassID: 15
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/EvictionType.java
Name: org.apache.camel.component.caffeine.EvictionType.getEvictionType(String name)
    public static EvictionType getEvictionType(String name) {
        if (name == null) {
            return null;
        }
        for (EvictionType evictionType : VALUES) {
            if (evictionType.toString().equalsIgnoreCase(name) || evictionType.name().equalsIgnoreCase(name)) {
                return evictionType;
            }
        }
        throw new IllegalArgumentException(String.format("Eviction type '%s' is not supported by this component.", name));
    }
Pair #596 Negative (Non-Clone)
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #597 Negative (Non-Clone)
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
ID: 2458_1957
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyMavenWrapper()
    protected void copyMavenWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, ".mvn/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path mvnwPath = Paths.get(BUILD_DIR, "mvnw");
        Path mvnwCmdPath = Paths.get(BUILD_DIR, "mvnw.cmd");
        Path wrapperJarPath = wrapperPath.resolve("maven-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("maven-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw")) {
            Files.copy(is, mvnwPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw.cmd")) {
            Files.copy(is, mvnwCmdPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(mvnwPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(mvnwCmdPath, "rwxr-xr-x");
    }
Pair #598 Negative (Non-Clone)
ID: 2470_1994
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction.getEndpointUri(Row r)
    protected String getEndpointUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #599 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 2654_2320
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludedHeader(String key)
    private boolean isExcludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("-header:")) {
                pattern = StringHelper.after(pattern, "-header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
Pair #600 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 1037_893
ClassID: 1037
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.getHandler(HttpServerExchange httpServerExchange, String method)
    private HttpHandler getHandler(HttpServerExchange httpServerExchange, String method) {
        HttpHandler answer = null;

         
        if (method == null) {
            return null;
        }

        String path = httpServerExchange.getRequestURI();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer>> paths = new ArrayList<>();
        for (final UndertowConsumer consumer : consumers) {
            paths.add(new RestConsumerPath(consumer));
        }

        RestConsumerContextPathMatcher.ConsumerPath<UndertowConsumer> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<UndertowConsumer> candidates = new ArrayList<>();
        if (answer == null) {
            for (final UndertowConsumer consumer : consumers) {

                String consumerPath = consumer.getEndpoint().getHttpURI().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(consumer);
                }
            }
        }

         
        candidates = candidates.stream().filter(c -> matchRestMethod(method, c.getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #601 Negative (Non-Clone)
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
Pair #602 Negative (Non-Clone)
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 658_584
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.messageToRouter(Message message)
    private Router messageToRouter(Message message) {
        Router router = message.getBody(Router.class);

        if (router == null) {
            Map headers = message.getHeaders();
            RouterBuilder builder = Builders.router();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            router = builder.build();
        }
        return router;
    }
Pair #603 Negative (Non-Clone)
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 487_517
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #604 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #605 Negative (Non-Clone)
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #606 Negative (Non-Clone)
ID: 1913_1575
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.stopRouteImpl(Route route)
    private void stopRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Started) {
            LOG.info("Stopping {}", route.getId());
            stopRoute(route);
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
Pair #607 Negative (Non-Clone)
ID: 468_501
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapProducer.java
Name: org.apache.camel.component.snmp.SnmpTrapProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
        }
    }
ID: 3310_2724
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getMainJsonSchema()
    public String getMainJsonSchema() {
        String path = "META-INF/camel-main-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #608 Negative (Non-Clone)
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #609 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 2386_1879
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPart(String channel, IRCUser user, String msg)
        public void onPart(String channel, IRCUser user, String msg) {
            if (configuration.isOnPart()) {
                Exchange exchange = createOnPartExchange(channel, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #610 Negative (Non-Clone)
ID: 2509_2061
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.extendsType(ClassInfo ci, DotName superType)
    protected boolean extendsType(ClassInfo ci, DotName superType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(superType)) {
            return true;
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return extendsType(
                    view.getClassByName(superName),
                    superType);
        }

        return false;
    }
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #611 Negative (Non-Clone)
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #612 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 2538_2113
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadVersion(String version)
    public boolean loadVersion(String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String camelCatalogGAV = String.format("org.apache.camel:camel-catalog:%s", version);
            resolve(mavenDownloader, camelCatalogGAV, version.contains("SNAPSHOT"));

            this.version = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
Pair #613 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
Pair #614 Negative (Non-Clone)
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 1378_1244
ClassID: 1378
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
Name: org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.cloneBuilder(DefaultErrorHandlerDefinition other)
    protected void cloneBuilder(DefaultErrorHandlerDefinition other) {
        other.setExecutorServiceBean(getExecutorServiceBean());
        other.setExecutorServiceRef(getExecutorServiceRef());
        other.setLevel(getLevel());
        other.setLogName(getLogName());
        other.setLoggerBean(getLoggerBean());
        other.setLoggerRef(getLoggerRef());
        other.setOnExceptionOccurredProcessor(getOnExceptionOccurredProcessor());
        other.setOnExceptionOccurredRef(getOnExceptionOccurredRef());
        other.setOnPrepareFailureProcessor(getOnPrepareFailureProcessor());
        other.setOnPrepareFailureRef(getOnPrepareFailureRef());
        other.setOnRedeliveryProcessor(getOnRedeliveryProcessor());
        other.setOnRedeliveryRef(getOnRedeliveryRef());
        other.setRedeliveryPolicyRef(getRedeliveryPolicyRef());
        other.setRetryWhilePredicate(getRetryWhilePredicate());
        other.setRetryWhileRef(getRetryWhileRef());
        other.setUseOriginalBody(getUseOriginalBody());
        other.setUseOriginalMessage(getUseOriginalMessage());
        if (hasRedeliveryPolicy()) {
            other.setRedeliveryPolicy(getRedeliveryPolicy().copy());
        }
    }
Pair #615 Negative (Non-Clone)
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
Pair #616 Negative (Non-Clone)
ID: 3222_2509
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/BooleanExpression.java
Name: org.apache.camel.language.simple.ast.BooleanExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == Boolean.class || type == boolean.class) {
                    return (T) Boolean.valueOf(value);
                }
                return camelContext.getTypeConverter().tryConvertTo(type, exchange, value);
            }

            @Override
            public String toString() {
                return String.valueOf(value);
            }
        };
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #617 Negative (Non-Clone)
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #618 Negative (Non-Clone)
ID: 2604_2230
ClassID: 2604
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 1871_1541
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #619 Negative (Non-Clone)
ID: 483_507
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
ID: 1490_1329
ClassID: 1490
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #620 Negative (Non-Clone)
ID: 1249_1083
ClassID: 1249
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.isInputStreamNeededForObject(Object obj)
    protected boolean isInputStreamNeededForObject(Object obj) {
        if (obj == null) {
            return false;
        }

        if (obj instanceof WrappedFile) {
            obj = ((WrappedFile<?>) obj).getFile();
        }
        if (obj instanceof File) {
             
             
            return true;
        }

         
        return false;
    }
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
Pair #621 Negative (Non-Clone)
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 1788_1467
ClassID: 1788
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        Reader reader = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
             
            reader = new XmlStreamReader(in);
            return createIterator(reader);
        } catch (Exception e) {
            exchange.setException(e);
             
            IOHelper.close(in, reader);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in, reader);
            }
        }
    }
Pair #622 Negative (Non-Clone)
ID: 1217_1044
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        StateOperation stateOperation = configurationOptionsProxy.getStateOperation(exchange);
        DaprClient client = endpoint.getClient();

        switch (stateOperation) {
            case save:
                return saveState(exchange, client);
            case saveBulk:
                return saveBulkState(exchange, client);
            case get:
                return getState(exchange, client);
            case getBulk:
                return getBulkState(exchange, client);
            case delete:
                return deleteState(exchange, client);
            case executeTransaction:
                return executeStateTransaction(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported state operation");
        }
    }
ID: 2300_1820
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisFirehoseClient())) {
            if (kinesisFirehoseClient != null) {
                kinesisFirehoseClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #623 Negative (Non-Clone)
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #624 Negative (Non-Clone)
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #625 Negative (Non-Clone)
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 1163_996
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/UnwrappingPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.UnwrappingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #626 Negative (Non-Clone)
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #627 Negative (Non-Clone)
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #628 Negative (Non-Clone)
ID: 2385_1875
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
Name: org.apache.camel.component.irc.IrcProducer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
ID: 3298_2710
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/ConfigurationPropertiesValidationResult.java
Name: org.apache.camel.catalog.ConfigurationPropertiesValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }
        if (invalidMap != null) {
            for (Map.Entry<String, String> entry : invalidMap.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty map key/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid map key/value: " + entry.getValue());
                }
            }
        }
        if (invalidArray != null) {
            for (Map.Entry<String, String> entry : invalidArray.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty array index/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid array index/value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder();
        if (includeHeader) {
            sb.append("Configuration properties error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (text != null) {
            sb.append("\t").append(text).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, shortKey(option.getKey()), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
Pair #629 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 2577_2168
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeDataFormat()
    private void executeDataFormat() throws MojoExecutionException {
         
        final String kind = "dataformat";
        List<String> dataFormatNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!dataFormatNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + dataFormatNames.size() + " dataformats");
            }

            for (String dataFormatName : dataFormatNames) {
                String json = loadJsonFrom(jsonFiles, kind, dataFormatName);
                if (json != null) {
                     
                    dataFormatName = asDataFormatName(dataFormatName);

                    File file = new File(dataformatDocDir, dataFormatName + "-" + kind + ".adoc");

                    DataFormatModel model = generateDataFormatModel(json);
                     
                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        model.getOptions().stream().filter(o -> "type".equals(o.getName()))
                                .forEach(o -> o.setDefaultValue(null));
                    }

                    String title = asDataFormatTitle(model.getName(), model.getTitle());
                    model.setTitle(title);

                    boolean exists = file.exists();
                    boolean updated = updateHeader(dataFormatName, file, model, " DataFormat");
                    checkSince(file);

                    String options = evaluateTemplate("dataformat-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                     
                     
                    if ("bindy".equals(dataFormatName)) {
                        updated |= updateAnnotationsIn(file);
                    }

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No dataformat doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }

                }
            }
        }
    }
Pair #630 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
Pair #631 Negative (Non-Clone)
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 1841_1502
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping Consumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping Consumer");
            }
            doStop();
        }
        if (trigger == null) {
            startUnTriggered();
        } else {
            startTriggered();
        }
    }
Pair #632 Negative (Non-Clone)
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
Pair #633 Negative (Non-Clone)
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #634 Negative (Non-Clone)
ID: 1511_1354
ClassID: 1511
File: systems/camel-java/components/camel-exec/src/generated/java/org/apache/camel/component/exec/ExecResultConverterLoader.java
Name: org.apache.camel.component.exec.ExecResultConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToByteArray((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToInputStream((org.apache.camel.component.exec.ExecResult) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToString((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Document.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToDocument((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #635 Negative (Non-Clone)
ID: 1457_1308
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprInvokeBindingHandler.java
Name: org.apache.camel.component.dapr.operations.DaprInvokeBindingHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String bindingName = configurationOptionsProxy.getBindingName(exchange);
        String bindingOperation = configurationOptionsProxy.getBindingOperation(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        InvokeBindingRequest bindingRequest = new InvokeBindingRequest(bindingName, bindingOperation);
        bindingRequest.setData(payload);
        bindingRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        final byte[] response = client.invokeBinding(bindingRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
Pair #636 Negative (Non-Clone)
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
ID: 3228_2523
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.joinExpression(final String expression, final String separator, final String prefix)
    public static Expression joinExpression(final String expression, final String separator, final String prefix) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.joinExpression(exp, separator, prefix);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                if (prefix != null) {
                    return "join(" + expression + "," + separator + "," + prefix + ")";
                } else {
                    return "join(" + expression + "," + separator + ")";
                }
            }
        };
    }
Pair #637 Negative (Non-Clone)
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #638 Negative (Non-Clone)
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
ID: 766_693
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.synthesize(Exchange exchange)
    private void synthesize(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String text = exchange.getIn().getHeader(WatsonTextToSpeechConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to synthesize must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String accept = exchange.getIn().getHeader(WatsonTextToSpeechConstants.ACCEPT,
                getEndpoint().getConfiguration().getAccept(), String.class);
        String customizationId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.CUSTOMIZATION_ID,
                getEndpoint().getConfiguration().getCustomizationId(), String.class);

        LOG.trace("Synthesizing text with TTS: voice={}, accept={}", voice, accept);

        SynthesizeOptions.Builder builder = new SynthesizeOptions.Builder()
                .text(text)
                .voice(voice)
                .accept(accept);

        if (customizationId != null && !customizationId.isBlank()) {
            builder.customizationId(customizationId);
        }

        SynthesizeOptions options = builder.build();

        InputStream audioStream = tts.synthesize(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(audioStream);
        message.setHeader(WatsonTextToSpeechConstants.VOICE, voice);
        message.setHeader(WatsonTextToSpeechConstants.ACCEPT, accept);
    }
Pair #639 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #640 Negative (Non-Clone)
ID: 1892_1562
ClassID: 1892
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #641 Negative (Non-Clone)
ID: 1459_1311
ClassID: 1459
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprOperationResponse.java
Name: org.apache.camel.component.dapr.operations.DaprOperationResponse.createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus)
    public static DaprOperationResponse createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus) {
        Map<String, Object> responseHeaders = new HashMap<>();

        responseHeaders.put(DaprConstants.WORKFLOW_NAME, workflowStatus.getName());
        responseHeaders.put(DaprConstants.WORKFLOW_CREATED_AT, workflowStatus.getCreatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_UPDATED_AT, workflowStatus.getLastUpdatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_INPUT, workflowStatus.getSerializedInput());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_OUTPUT, workflowStatus.getSerializedOutput());
        responseHeaders.put(DaprConstants.WORKFLOW_FAILURE_DETAILS, workflowStatus.getFailureDetails());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_RUNNING, workflowStatus.isRunning());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_COMPLETED, workflowStatus.isCompleted());

        return create(workflowStatus, responseHeaders);
    }
ID: 3222_2509
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/BooleanExpression.java
Name: org.apache.camel.language.simple.ast.BooleanExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == Boolean.class || type == boolean.class) {
                    return (T) Boolean.valueOf(value);
                }
                return camelContext.getTypeConverter().tryConvertTo(type, exchange, value);
            }

            @Override
            public String toString() {
                return String.valueOf(value);
            }
        };
    }
Pair #642 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 1305_1139
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusBecomingLeader()
    private void refreshStatusBecomingLeader() {
         
         
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be effective in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
        this.currentState = State.LEADER;
        this.serializedExecutor.execute(this::refreshStatus);
    }
Pair #643 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
Pair #644 Negative (Non-Clone)
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
ID: 1331_1234
ClassID: 1331
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java
Name: org.apache.camel.component.grpc.GrpcConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (this.isRunAllowed()) {
            this.getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #645 Negative (Non-Clone)
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #646 Negative (Non-Clone)
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #647 Negative (Non-Clone)
ID: 1498_1342
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePOSTSCRIPT(String flavor)
    public DocFlavor forMimeTypePOSTSCRIPT(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.POSTSCRIPT;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.POSTSCRIPT;
        }

        return d;
    }
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
Pair #648 Negative (Non-Clone)
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #649 Negative (Non-Clone)
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
ID: 106_97
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRolesToUser(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        List<String> roleNames = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAMES, List.class);
        if (roleNames == null || roleNames.isEmpty()) {
             
            Object payload = exchange.getIn().getBody();
            if (payload instanceof List) {
                roleNames = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Role names must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        List<RoleRepresentation> rolesToAssign = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

         
        for (String roleName : roleNames) {
            Map<String, Object> result = new HashMap<>();
            result.put("roleName", roleName);
            try {
                RoleRepresentation role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
                rolesToAssign.add(role);
                result.put("status", "found");
                successCount++;
            } catch (Exception e) {
                result.put("status", "not_found");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to find role: " + roleName, e);
                }
            }
            results.add(result);
        }

         
        if (!rolesToAssign.isEmpty()) {
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(rolesToAssign);
            } catch (Exception e) {
                throw new RuntimeException("Failed to assign roles to user: " + userId, e);
            }
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", roleNames.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("assigned", rolesToAssign.size());
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #650 Negative (Non-Clone)
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #651 Negative (Non-Clone)
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 1039_898
ClassID: 1039
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");
        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("netty-http", config);

         
        boolean cors = config.isEnableCORS();

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("netty-http", scheme, host, port, path, map);

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

        return consumer;
    }
Pair #652 Negative (Non-Clone)
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 2604_2232
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.after(String text, String after)
    public static String after(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.indexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #653 Negative (Non-Clone)
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
ID: 1541_1361
ClassID: 1541
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters, String consumes,
            String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {
         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String scheme = "vertx-http:";
        String url = scheme + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, scheme);
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals(scheme)) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        VertxHttpEndpoint endpoint = (VertxHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;
        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.getConfiguration().setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.getConfiguration().setHeaderFilterStrategy(new VertxHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #654 Negative (Non-Clone)
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
Pair #655 Negative (Non-Clone)
ID: 3267_2634
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
    public Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotations, Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithAnyPackageScanFilter(annotations, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
Pair #656 Negative (Non-Clone)
ID: 484_511
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #657 Negative (Non-Clone)
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
Pair #658 Negative (Non-Clone)
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
Pair #659 Negative (Non-Clone)
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
ID: 2515_2072
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.stripSourceLocationLineNumber(String location)
    public static String stripSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(0, pos);
        } else {
            return location;
        }
    }
Pair #660 Negative (Non-Clone)
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
ID: 3098_2364
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.consumes(String mediaType)
    public RestDefinition consumes(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.consumes = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setConsumes(mediaType);
        }

        return this;
    }
Pair #661 Negative (Non-Clone)
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #662 Negative (Non-Clone)
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
ID: 3308_2720
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateSimple(ClassLoader classLoader, String simple, boolean predicate)
    private LanguageValidationResult doValidateSimple(ClassLoader classLoader, String simple, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = simple.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(simple);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("createPredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("createExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")  
                        || cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleParserException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {  
                    try {
                        Method method = cause.getClass().getMethod("getShortMessage");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            String msg = (String) result;
                            answer.setShortError(msg);
                        }
                    } catch (Exception i) {
                         
                    }

                    if (answer.getShortError() == null) {
                         
                        String msg = answer.getError();
                         
                        int idx = msg.indexOf(" at location ");
                        if (idx > 0) {
                            msg = msg.substring(0, idx);
                            answer.setShortError(msg);
                        }
                    }
                }
            }
        }

        return answer;
    }
Pair #663 Negative (Non-Clone)
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #664 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
Pair #665 Negative (Non-Clone)
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 837_721
ClassID: 837
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
Name: org.apache.camel.component.aws2.sns.Sns2Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        HashMap<String, String> metadata = new HashMap<>();
        if (configuration.getQueueArn() != null) {
            metadata.put("queueArn", configuration.getQueueArn());
        }
        if (configuration.getTopicArn() != null) {
            metadata.put("topicArn", configuration.getTopicArn());
        }
        return metadata;
    }
Pair #666 Negative (Non-Clone)
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #667 Negative (Non-Clone)
ID: 3112_2402
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.after()
    public ProcessorDefinition<?> after() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.afterById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.afterByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByToUri(route, toUri, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
Pair #668 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #669 Negative (Non-Clone)
ID: 3099_2373
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientRequestValidation(boolean clientRequestValidation)
    public RestDefinition clientRequestValidation(boolean clientRequestValidation) {
        if (getVerbs().isEmpty()) {
            this.clientRequestValidation = Boolean.toString(clientRequestValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientRequestValidation(Boolean.toString(clientRequestValidation));
        }

        return this;
    }
ID: 2598_2213
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getEnum(final int index)
    public <T extends Enum<T>> T getEnum(final int index) throws ClassNotFoundException {
         
        T returnable;
        final String element;
        final String[] splitValues;
        final int numberOfValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        element = this.getString(index);
        if (element == null) {
            return null;
        }
         
        splitValues = element.split("\\.");
        numberOfValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfValues; i++) {
            if (i == (numberOfValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
Pair #670 Negative (Non-Clone)
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #671 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #672 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1035_887
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.add(final String uriTemplate, final CamelMethodHandler handler)
    public CamelPathTemplateHandler add(final String uriTemplate, final CamelMethodHandler handler) {
        lock.lock();
        try {
            delegate.add(uriTemplate, handler);
            handlers.put(uriTemplate, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #673 Negative (Non-Clone)
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
ID: 618_558
ClassID: 618
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
Name: org.apache.camel.component.file.remote.RemoteFileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #674 Negative (Non-Clone)
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
Pair #675 Negative (Non-Clone)
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #676 Negative (Non-Clone)
ID: 1723_1444
ClassID: 1723
File: systems/camel-java/components/camel-opensearch/src/generated/java/org/apache/camel/component/opensearch/converter/OpensearchActionRequestConverterLoader.java
Name: org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.opensearch.client.opensearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #677 Negative (Non-Clone)
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #678 Negative (Non-Clone)
ID: 3290_2690
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.createKeyManagers()
    public KeyManager[] createKeyManagers() throws GeneralSecurityException, IOException {
        LOG.trace("Creating KeyManager[] from KeyManagersParameters [{}].", this);
        KeyManager[] keyManagers;

        String kmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (this.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, this.parsePropertyValue(this.getProvider()));
        }

        LOG.debug("KeyManagerFactory [{}], initialized from [{}], is using provider [{}] and algorithm [{}].",
                kmf, this, kmf.getProvider(), kmf.getAlgorithm());

        char[] kmfPassword = null;
        if (this.getKeyPassword() != null) {
            kmfPassword = this.parsePropertyValue(this.getKeyPassword()).toCharArray();
        }

        KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        keyManagers = kmf.getKeyManagers();

        LOG.debug("KeyManager[] [{}], initialized from KeyManagerFactory [{}].", keyManagers, kmf);

        return keyManagers;
    }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #679 Negative (Non-Clone)
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
Pair #680 Negative (Non-Clone)
ID: 1511_1355
ClassID: 1511
File: systems/camel-java/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/NettyHttpConverterLoader.java
Name: org.apache.camel.component.netty.http.NettyHttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toBytes((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, io.netty.buffer.ByteBuf.class, org.apache.camel.component.netty.http.NettyChannelBufferStreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toByteBuf((org.apache.camel.component.netty.http.NettyChannelBufferStreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toInputStream((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toString((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #681 Negative (Non-Clone)
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
ID: 2364_1861
ClassID: 2364
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.BedrockStreamHandler.createCompleteHandler(String modelId, StreamMetadata metadata, StringBuilder fullText)
    public static InvokeModelWithResponseStreamResponseHandler createCompleteHandler(
            String modelId,
            StreamMetadata metadata,
            StringBuilder fullText) {

        StreamResponseParser parser = StreamParserFactory.getParser(modelId);
        int[] chunkCount = { 0 };

        return InvokeModelWithResponseStreamResponseHandler.builder()
                .subscriber(InvokeModelWithResponseStreamResponseHandler.Visitor.builder()
                        .onChunk(part -> {
                            try {
                                String chunkJson = part.bytes().asUtf8String();
                                String text = parser.extractText(chunkJson);
                                if (text != null && !text.isEmpty()) {
                                    fullText.append(text);
                                }

                                 
                                if (parser.isFinalChunk(chunkJson)) {
                                    String completionReason = parser.extractCompletionReason(chunkJson);
                                    if (completionReason != null) {
                                        metadata.setCompletionReason(completionReason);
                                    }

                                    Integer tokenCount = parser.extractTokenCount(chunkJson);
                                    if (tokenCount != null) {
                                        metadata.setTokenCount(tokenCount);
                                    }
                                }
                                chunkCount[0]++;
                            } catch (JsonProcessingException e) {
                                LOG.warn("Error parsing streaming chunk: {}", e.getMessage(), e);
                            }
                        })
                        .build())
                .onComplete(() -> {
                    metadata.setChunkCount(chunkCount[0]);
                    metadata.setFullText(fullText.toString());
                })
                .build();
    }
Pair #682 Negative (Non-Clone)
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
Pair #683 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #684 Negative (Non-Clone)
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 1314_1214
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doCreateOrUpdateConfigMap(Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation)
    private void doCreateOrUpdateConfigMap(
            Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HashMap<String, String> configMapData
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
        HashMap<String, String> configMapAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("{} a specific configMap require specify a configMap name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a configMap name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific configMap require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(configMapData)) {
            LOG.error("{} a specific configMap require specify a data map", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a data map", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapBuilder cfMapCreating = new ConfigMapBuilder();
        if (ObjectHelper.isEmpty(configMapAnnotations)) {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).endMetadata().withData(configMapData);
        } else {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).withAnnotations(configMapAnnotations)
                    .endMetadata().withData(configMapData);
        }
        ConfigMap configMap
                = operation.apply(
                        getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName)
                                .resource(cfMapCreating.build()));

        prepareOutboundMessage(exchange, configMap);
    }
Pair #685 Negative (Non-Clone)
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #686 Negative (Non-Clone)
ID: 2041_1648
ClassID: 2041
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.doShutdown()
    protected void doShutdown() throws Exception {
        super.doShutdown();

        if (cloudTrailClient != null) {
            try {
                cloudTrailClient.close();
            } catch (Exception e) {
                 
            }
            cloudTrailClient = null;
        }

        if (sqsClient != null) {
            try {
                sqsClient.close();
            } catch (Exception e) {
                 
            }
            sqsClient = null;
        }

        updates.clear();
    }
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
Pair #687 Negative (Non-Clone)
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
Pair #688 Negative (Non-Clone)
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #689 Negative (Non-Clone)
ID: 3278_2660
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isLessThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) <= 0;
            }

            protected String getOperationText() {
                return "<=";
            }
        };
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #690 Negative (Non-Clone)
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 3112_2402
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.after()
    public ProcessorDefinition<?> after() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.afterById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.afterByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByToUri(route, toUri, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #691 Negative (Non-Clone)
ID: 2467_1984
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-dump");
        root.put("filter", "*");
        root.put("format", format);
        root.put("uriAsParameters", uriAsParameters);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
Pair #692 Negative (Non-Clone)
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #693 Negative (Non-Clone)
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
Pair #694 Negative (Non-Clone)
ID: 487_517
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 2386_1880
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onReply(int num, String value, String msg)
        public void onReply(int num, String value, String msg) {
            if (configuration.isOnReply()) {
                Exchange exchange = createOnReplyExchange(num, value, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #695 Negative (Non-Clone)
ID: 1402_1249
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.createReplaceSmTempate(Exchange exchange)
    protected ReplaceSm createReplaceSmTempate(Exchange exchange) {
        Message in = exchange.getIn();
        ReplaceSm replaceSm = new ReplaceSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            replaceSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            replaceSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            replaceSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            replaceSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            replaceSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            replaceSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            replaceSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
            replaceSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, Byte.class));
        } else {
            replaceSm.setRegisteredDelivery(config.getRegisteredDelivery());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            replaceSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                replaceSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                replaceSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        return replaceSm;
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #696 Negative (Non-Clone)
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
Pair #697 Negative (Non-Clone)
ID: 436_448
ClassID: 436
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
Name: org.apache.camel.component.netty.NettyConfiguration.copy()
    public NettyConfiguration copy() {
        try {
            NettyConfiguration answer = (NettyConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2440_1916
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugSpringBoot(KameletMain main)
    private int doRunDebugSpringBoot(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-debug-starter");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.springboot");
            d.setArtifactId("camel-cli-connector-starter");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId("org.springframework.boot");
            pi.setArtifactId("spring-boot-maven-plugin");
            pi.setVersion("${spring-boot-version}");
            PluginExecution pe = new PluginExecution();
            pe.addGoal("repackage");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Spring Boot for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "spring-boot:repackage");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        loggingColor ? "-Dspring.output.ansi.enabled=ALWAYS" : "-Dspring.output.ansi.enabled=NEVER",
                        "-jar", "target/camel-jbang-debug.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Spring Boot integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Spring Boot for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #698 Negative (Non-Clone)
ID: 3224_2513
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createIncExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createIncExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val++;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #699 Negative (Non-Clone)
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
ID: 2658_2331
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int headerIndex = 0;
            for (Expression expression : expressions) {
                Object newHeader = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                Message message = exchange.getMessage();
                String key = headerNames.get(headerIndex++).evaluate(exchange, String.class);
                message.setHeader(key, newHeader);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #700 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
Pair #701 Negative (Non-Clone)
ID: 2479_2026
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 2054_1676
ClassID: 2054
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
Name: org.apache.camel.component.file.GenericFileEndpoint.getBrowseStatus(int limit)
    public BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges(limit, null, true);
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #702 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 2245_1767
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #703 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
Pair #704 Negative (Non-Clone)
ID: 104_93
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientRole(Keycloak keycloakClient, Exchange exchange)
    private void createClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).clients().get(clientUuid).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Client role created successfully");
        }
    }
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
Pair #705 Negative (Non-Clone)
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
Pair #706 Negative (Non-Clone)
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #707 Negative (Non-Clone)
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #708 Negative (Non-Clone)
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #709 Negative (Non-Clone)
ID: 2229_1746
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemove(Exchange exchange, String operation)
    protected void doRemove(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.rm().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #710 Negative (Non-Clone)
ID: 3292_2694
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextClientParameters.java
Name: org.apache.camel.support.jsse.SSLContextClientParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextClientParameters[getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #711 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #712 Negative (Non-Clone)
ID: 1855_1510
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in Vault: {}", metadata);
        return keyPair;
    }
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #713 Negative (Non-Clone)
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
ID: 444_474
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketObjectEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketObjectEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof Serializable) {
            Serializable payload = (Serializable) msg.content();
            ByteBuf buf = ctx.alloc().buffer();
            delegateObjectEncoder.encode(ctx, payload, buf);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(buf, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not a java.io.Serializable instance.");
        }
    }
Pair #714 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
Pair #715 Negative (Non-Clone)
ID: 1245_1073
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Record recordObj = exchange.getIn().getMandatoryBody(Record.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing record {}", recordObj);
            }
            writeApi.writeRecord(bucketName, orgName, writePrecision, recordObj.getInfluxRecord());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #716 Negative (Non-Clone)
ID: 18_25
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulPreparedQueryProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer target = (org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "execute":
        case "EXECUTE": target.execute(exchange.getMessage()); return null;
        case "get":
        case "GET": target.get(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #717 Negative (Non-Clone)
ID: 2509_2061
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.extendsType(ClassInfo ci, DotName superType)
    protected boolean extendsType(ClassInfo ci, DotName superType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(superType)) {
            return true;
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return extendsType(
                    view.getClassByName(superName),
                    superType);
        }

        return false;
    }
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #718 Negative (Non-Clone)
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 498_525
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsClientFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsClientFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name) || "headers".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "providers".equals(name)
                || "schemaLocations".equals(name) || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
Pair #719 Negative (Non-Clone)
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
Pair #720 Negative (Non-Clone)
ID: 1431_1288
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeCompressedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeCompressedDataEntity applicationPkcs7MimeCompressedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeCompressedDataEntity
                    = parseApplicationPkcs7MimeCompressedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeCompressedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeCompressedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 1876_1550
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getCeOverrides()
    public Map<String, String> getCeOverrides() {
        Map<String, String> answer = new HashMap<>();
        if (this.ceOverrides != null) {
            answer.putAll(this.ceOverrides);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_CE_OVERRIDE_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_CE_OVERRIDE_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
Pair #721 Negative (Non-Clone)
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #722 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #723 Negative (Non-Clone)
ID: 483_509
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
ID: 437_452
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureClientSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Client SSL handler configured and added to the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> decoders = producer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        List<ChannelHandler> encoders = producer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

         
        if (producer.getConfiguration().getRequestTimeout() > 0) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Using request timeout {} millis", producer.getConfiguration().getRequestTimeout());
            }
            ChannelHandler timeout
                    = new ReadTimeoutHandler(producer.getConfiguration().getRequestTimeout(), TimeUnit.MILLISECONDS);
            addToPipeline("timeout", channelPipeline, timeout);
        }

         
        addToPipeline("handler", channelPipeline, new ClientChannelHandler(producer));

        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #724 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 765_692
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineObjectName(Exchange exchange)
    private String determineObjectName(Exchange exchange) {
        String key = getConfiguration().getObjectName();
        if (ObjectHelper.isEmpty(key)) {
            key = exchange.getIn().getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class);
        }
        if (key == null) {
            throw new IllegalArgumentException("Google Cloud Storage object name header missing.");
        }
        return key;
    }
Pair #725 Negative (Non-Clone)
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
Pair #726 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #727 Negative (Non-Clone)
ID: 930_807
ClassID: 930
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultDebugger.java
Name: org.apache.camel.impl.debugger.DefaultDebugger.getSingleStepBreakpoint(Exchange exchange)
    private Breakpoint getSingleStepBreakpoint(Exchange exchange) {
        Breakpoint answer = singleSteps.get(exchange.getExchangeId());
        if (answer == null) {
             
            String id = exchange.getProperty(ExchangePropertyKey.CORRELATION_ID, String.class);
            if (id != null) {
                answer = singleSteps.get(id);
            }
        }
        return answer;
    }
ID: 467_500
ClassID: 467
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.AS2ApiCollection()
    private AS2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(AS2ApiName.class);
        final Map<Class<? extends ApiMethod>, AS2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName", "receiptDeliveryOption", "ediMessageCharset", "userName", "password", "accessToken");
        apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper<>(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.SERVER, new ApiMethodHelper<>(AS2ServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ServerManagerApiMethod.class, AS2ApiName.SERVER);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.RECEIPT, new ApiMethodHelper<>(AS2AsyncMDNServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2AsyncMDNServerManagerApiMethod.class, AS2ApiName.RECEIPT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #728 Negative (Non-Clone)
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #729 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
Pair #730 Negative (Non-Clone)
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
Pair #731 Negative (Non-Clone)
ID: 2107_1702
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.resolveDataSet(Exchange exchange)
    protected DataSet resolveDataSet(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_HEADER) != null) {
            return (DataSet) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_HEADER);
        } else if (getEndpoint().getDataSet() != null) {
            return getEndpoint().getDataSet();
        } else {
            throw new IllegalStateException("No DataSet defined");
        }
    }
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #732 Negative (Non-Clone)
ID: 2611_2247
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(EipModel model)
    public static JsonObject asJsonObject(EipModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        obj.put("abstract", model.isAbstractModel());
        obj.put("input", model.isInput());
        obj.put("output", model.isOutput());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("model", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        if (!model.getExchangeProperties().isEmpty()) {
            wrapper.put("exchangeProperties", asJsonObject(model.getExchangeProperties()));
        }
        return wrapper;
    }
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
Pair #733 Negative (Non-Clone)
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #734 Negative (Non-Clone)
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
ID: 681_612
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #735 Negative (Non-Clone)
ID: 1256_1102
ClassID: 1256
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #736 Negative (Non-Clone)
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
Pair #737 Negative (Non-Clone)
ID: 657_579
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
Name: org.apache.camel.component.openstack.swift.SwiftEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (subsystem) {
            case SwiftConstants.SWIFT_SUBSYSTEM_OBJECTS:
                return new ObjectProducer(this, createClient());
            case SwiftConstants.SWIFT_SUBSYSTEM_CONTAINERS:
                return new ContainerProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #738 Negative (Non-Clone)
ID: 219_243
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosContainerResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosContainerResponse> setCosmosContainerResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
                setMessageHeader(exchange, CosmosDbConstants.DEFAULT_TIME_TO_LIVE_SECONDS,
                        response.getProperties().getDefaultTimeToLiveInSeconds());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 2600_2218
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
        boolean isFirstElement = true;
        final Iterator<Object> elements = this.iterator();
        writable.write('[');
        while (elements.hasNext()) {
            if (isFirstElement) {
                isFirstElement = false;
            } else {
                writable.write(',');
            }
            Jsoner.serialize(elements.next(), writable);
        }
        writable.write(']');
    }
Pair #739 Negative (Non-Clone)
ID: 2588_2191
ClassID: 2588
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
Name: org.apache.camel.maven.packaging.PrepareComponentMojo.syncParentPomFile(String token)
    private void syncParentPomFile(String token) throws MojoExecutionException {
        Path root = findCamelDirectory(project.getBasedir(), "parent").toPath();
        Path pomFile = root.resolve("pom.xml");

        final String startDependenciesMarker = "<!-- camel " + token + ": START -->";
        final String endDependenciesMarker = "<!-- camel " + token + ": END -->";

        if (!Files.isRegularFile(pomFile)) {
            throw new MojoExecutionException("Pom file " + pomFile + " does not exist");
        }

        try {
            final String pomText = loadText(pomFile);

            final String before = Strings.before(pomText, startDependenciesMarker);
            final String after = Strings.after(pomText, endDependenciesMarker);

            final String between = pomText.substring(before.length(), pomText.length() - after.length());

            Pattern pattern = Pattern.compile(
                    "<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>\\s*<version>(?<version>.*)</version>");
            Matcher matcher = pattern.matcher(between);

            TreeSet<MavenGav> dependencies = new TreeSet<>();
            while (matcher.find()) {
                String v = matcher.groupCount() > 2 ? matcher.group(3) : project.getVersion();
                MavenGav gav = new MavenGav(matcher.group(1), matcher.group(2), v, null);
                dependencies.add(gav);
            }
             
            dependencies.add(new MavenGav(
                    project.getGroupId(), project.getArtifactId(), "${project.version}", project.getArtifact().getType()));

             
            String s = dependencies.stream()
                    .map(g -> g.asString("            "))
                    .collect(Collectors.joining("\n"));
            final String updatedPom = before + startDependenciesMarker
                                      + "\n" + s + "\n"
                                      + "        " + endDependenciesMarker + after;

            updateResource(root, "pom.xml", updatedPom);
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + pomFile + " Reason: " + e, e);
        }
    }
ID: 1255_1101
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #740 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #741 Negative (Non-Clone)
ID: 685_622
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #742 Negative (Non-Clone)
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #743 Negative (Non-Clone)
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #744 Negative (Non-Clone)
ID: 2273_1798
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.remove(final Exchange exchange, final String messageId)
    public boolean remove(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);

        Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }
            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    rc[0] = Boolean.FALSE;
                } else {
                    MessageProcessed processed = (MessageProcessed) list.get(0);
                    entityManager.remove(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("remove {}", messageId);
        return rc[0];
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #745 Negative (Non-Clone)
ID: 2107_1700
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStream(Exchange exchange)
    protected DataStream resolveDataStream(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER) != null) {
            return (DataStream) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER);
        } else if (getEndpoint().getDataStream() != null) {
            return getEndpoint().getDataStream();
        } else {
            throw new IllegalArgumentException("No DataStream defined");
        }
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #746 Negative (Non-Clone)
ID: 3267_2633
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findImplementations(Class<?> parent, String... packageNames)
    public Set<Class<?>> findImplementations(Class<?> parent, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for implementations of {} in packages: {}", parent.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #747 Negative (Non-Clone)
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #748 Negative (Non-Clone)
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 3247_2583
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addRoutePolicyFactories()
    private void addRoutePolicyFactories() {
        Map<String, RoutePolicyFactory> routePolicyFactories
                = getContext().getRegistry().findByTypeWithName(RoutePolicyFactory.class);
        if (routePolicyFactories != null && !routePolicyFactories.isEmpty()) {
            for (Entry<String, RoutePolicyFactory> entry : routePolicyFactories.entrySet()) {
                RoutePolicyFactory factory = entry.getValue();
                LOG.info("Using custom RoutePolicyFactory with id: {} and implementation: {}", entry.getKey(), factory);
                getContext().addRoutePolicyFactory(factory);
            }
        }
    }
Pair #749 Negative (Non-Clone)
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
Pair #750 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #751 Negative (Non-Clone)
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #752 Negative (Non-Clone)
ID: 2461_1963
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.doCall()
    public Integer doCall() throws Exception {
        Map<Long, Row> rows = new LinkedHashMap<>();

         
        updatePids(rows);
        if (!rows.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
            if (startup) {
                follow = false;
                 
                tailStartupLogFiles(rows);
                dumpLogFiles(rows, 0);
            } else if (tail != 0) {
                 
                tailLogFiles(rows, tail, limit);
                dumpLogFiles(rows, tail);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            StopWatch watch = new StopWatch();
            do {
                if (rows.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for logs ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(rows);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(rows);
                        watch.restart();
                    }
                    int lines = readLogFiles(rows);
                    if (lines > 0) {
                        dumpLogFiles(rows, 0);
                    } else {
                        Thread.sleep(100);
                    }
                }
            } while (running.get());
        }

        return 0;
    }
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
Pair #753 Negative (Non-Clone)
ID: 1009_873
ClassID: 1009
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ODataFeed) {
            response = filter((ODataFeed) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else if (response instanceof ODataEntry) {
            response = filter((ODataEntry) response);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 2653_2317
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.hasHeaderPatterns()
    private boolean hasHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return true;
            }
        }
        return false;
    }
Pair #754 Negative (Non-Clone)
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #755 Negative (Non-Clone)
ID: 218_240
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.subscribeToMono(final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback)
    private <T> void subscribeToMono(
            final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback) {
        inputMono
                .subscribe(resultsCallback, error -> {
                     
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    }
                    exchange.setException(error);
                    callback.done(false);
                }, () -> {
                     
                    LOG.trace("All events with exchange have been sent successfully.");
                    callback.done(false);
                });
    }
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #756 Negative (Non-Clone)
ID: 3174_2447
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpStepStatsAsXml(boolean fullStats)
    public String dumpStepStatsAsXml(boolean fullStats) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> steps = new ArrayList<>();
             
            query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=steps,*");
            Set<ObjectName> names = server.queryNames(query, null);
            for (ObjectName on : names) {
                ManagedStepMBean step
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
                steps.add(step);
            }
            steps.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                sb.append("      <stepStats>\n");
                for (ManagedProcessorMBean step : steps) {
                     
                    if (route.getRouteId().equals(step.getRouteId())) {
                        int line = step.getSourceLineNumber() != null ? step.getSourceLineNumber() : -1;
                        sb.append("        <stepStat")
                                .append(String.format(
                                        " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                        step.getProcessorId(), step.getIndex(), step.getState(), step.getDisabled(), line));
                         
                        stat = step.dumpStatsAsXml(fullStats);
                        sb.append(" exchangesInflight=\"").append(step.getExchangesInflight()).append("\"");
                        sb.append(" ").append(stat, 7, stat.length()).append("\n");
                    }
                    sb.append("      </stepStats>\n");
                }
                sb.append("    </stepStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #757 Negative (Non-Clone)
ID: 908_784
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerClientFactory.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerClientFactory.create(CamelContext context, GoogleSecretManagerConfiguration configuration)
    public static SecretManagerServiceClient create(
            CamelContext context,
            GoogleSecretManagerConfiguration configuration)
            throws Exception {
        SecretManagerServiceClient secretManagerServiceClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        } else {
             
             
             
            SecretManagerServiceSettings settings = SecretManagerServiceSettings.newBuilder().build();
            secretManagerServiceClient = SecretManagerServiceClient.create(settings);
        }
        return secretManagerServiceClient;
    }
ID: 381_423
ClassID: 381
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
Name: org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSRedelivered(Message message)
    public static Boolean getJMSRedelivered(Message message) {
        if (message == null) {
            return null;
        }

        try {
            return message.getJMSRedelivered();
        } catch (Exception e) {
             
        }

        return null;
    }
Pair #758 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 3209_2478
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteGroupMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRouteGroup(route.getGroup()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .distinct()
                    .sorted(RouteGroupDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #759 Negative (Non-Clone)
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
ID: 3267_2634
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
    public Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotations, Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithAnyPackageScanFilter(annotations, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
Pair #760 Negative (Non-Clone)
ID: 220_250
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/transform/KinesisCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.kinesis.transform.KinesisCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.kinesis.getRecords");

        if (message.getHeaders().containsKey(Kinesis2Constants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.kinesis.partition.key." + message.getHeader(Kinesis2Constants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Kinesis2Constants.SHARD_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #761 Negative (Non-Clone)
ID: 18_23
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulAgentProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulAgentProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulAgentProducer target = (org.apache.camel.component.consul.endpoint.ConsulAgentProducer) obj;
        switch (key) {
        case "agent":
        case "AGENT": return target.invokeAgent(exchange.getMessage());
        case "checks":
        case "CHECKS": return target.invokeChecks(exchange.getMessage());
        case "deregister":
        case "DEREGISTER": target.invokeDeregister(exchange.getMessage()); return null;
        case "members":
        case "MEMBERS": return target.invokeMembers(exchange.getMessage());
        case "register":
        case "REGISTER": target.invokeRegister(exchange.getMessage()); return null;
        case "services":
        case "SERVICES": return target.invokeServices(exchange.getMessage());
        default: return null;
        }
    }
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #762 Negative (Non-Clone)
ID: 1431_1289
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType, String contentTransferEncoding)
    private static void parseApplicationPkcs7MimeEnvelopedEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, ContentType contentType,
            String contentTransferEncoding)
            throws HttpException {
        ApplicationPkcs7MimeEnvelopedDataEntity applicationPkcs7MimeEnvelopedDataEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");

        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof ApplicationPkcs7MimeCompressedDataEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            applicationPkcs7MimeEnvelopedDataEntity
                    = parseApplicationPkcs7MimeEnvelopedDataEntityBody(inBuffer, is, null, contentType,
                            contentTransferEncoding);
            applicationPkcs7MimeEnvelopedDataEntity.setMainBody(true);

            EntityUtils.setMessageEntity(message, applicationPkcs7MimeEnvelopedDataEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 444_471
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketStringDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketStringDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(payload.toString(charset), msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #763 Negative (Non-Clone)
ID: 556_534
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(MessageInfo msgInfo)
    protected void resetPartTypeClass(MessageInfo msgInfo) {
        if (msgInfo != null) {
            int size = msgInfo.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    msgInfo.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
ID: 2461_1964
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);

        Map<Long, Pid> pids = new LinkedHashMap<>();

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailReceiveFiles(pids, tail);
                dumpReceiveFiles(pids, tail, limit);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            boolean init = true;
            StopWatch watch = new StopWatch();
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        if (!"json".equals(output)) {
                            printer().println("Waiting for messages ...");
                        }
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readReceiveFiles(pids);
                    if (lines > 0) {
                        more = dumpReceiveFiles(pids, 0, null);
                        init = false;
                    } else if (lines == 0) {
                        if (init) {
                            if (!"json".equals(output)) {
                                printer().println("Waiting for messages ...");
                            }
                            init = false;
                        }
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #764 Negative (Non-Clone)
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
ID: 2597_2203
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getInteger(final String key)
    public Integer getInteger(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
Pair #765 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #766 Negative (Non-Clone)
ID: 409_438
ClassID: 409
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setupJacksonXml(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat xml, DataFormat outXml)
    public void setupJacksonXml(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat xml, DataFormat outXml)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jacksonXml-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jacksonXml");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(xml);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("unmarshalTypeName", typeName);
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outXml);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("unmarshalTypeName", outTypeName);
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
Pair #767 Negative (Non-Clone)
ID: 1444_1300
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2AsyncMDNServerConnection(AS2Configuration configuration)
    public static AS2AsyncMDNServerConnection createAS2AsyncMDNServerConnection(AS2Configuration configuration)
            throws IOException {
        try {
            return asyncMdnServerConnections.computeIfAbsent(
                    configuration.getAsyncMdnPortNumber(),
                    key -> {
                        try {
                            return new AS2AsyncMDNServerConnection(
                                    configuration.getAsyncMdnPortNumber(), configuration.getSslContext());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
Pair #768 Negative (Non-Clone)
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
ID: 2294_1807
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.describeDeliveryStream(FirehoseClient client, Exchange exchange)
    private void describeDeliveryStream(FirehoseClient client, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeDeliveryStreamRequest.class,
                client::describeDeliveryStream,
                () -> {
                    String streamName = getOptionalHeader(exchange, KinesisFirehose2Constants.KINESIS_FIREHOSE_STREAM_NAME,
                            String.class);
                    if (streamName == null) {
                        throw new IllegalArgumentException(
                                "The describeDeliveryStream operation expects at least a delivery stream name header or a DescribeDeliveryStreamRequest instance");
                    }
                    return client.describeDeliveryStream(
                            DescribeDeliveryStreamRequest.builder().deliveryStreamName(streamName).build());
                },
                "describeDeliveryStream",
                (DescribeDeliveryStreamResponse response, Message message) -> {
                    if (response.deliveryStreamDescription() != null) {
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_ARN,
                                response.deliveryStreamDescription().deliveryStreamARN());
                        message.setHeader(KinesisFirehose2Constants.DELIVERY_STREAM_STATUS,
                                response.deliveryStreamDescription().deliveryStreamStatusAsString());
                    }
                });
    }
Pair #769 Negative (Non-Clone)
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 1247_1077
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.matches(CamelContext context, Object body)
    public boolean matches(CamelContext context, Object body) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return matches(dummy);
        } finally {
             
            exchange.remove();
        }
    }
Pair #770 Negative (Non-Clone)
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #771 Negative (Non-Clone)
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #772 Negative (Non-Clone)
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 409_438
ClassID: 409
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setupJacksonXml(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat xml, DataFormat outXml)
    public void setupJacksonXml(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat xml, DataFormat outXml)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jacksonXml-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jacksonXml");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(xml);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("unmarshalTypeName", typeName);
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outXml);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("unmarshalTypeName", outTypeName);
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
Pair #773 Negative (Non-Clone)
ID: 2459_1959
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jibMavenPluginVersion(Path settings, Properties prop)
    protected static String jibMavenPluginVersion(Path settings, Properties prop) {
        String answer = null;
        if (prop != null) {
            answer = prop.getProperty(JIB_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream().filter(l -> l.startsWith(JIB_MAVEN_PLUGIN_VERSION + "="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "3.4.5";
    }
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
Pair #774 Negative (Non-Clone)
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #775 Negative (Non-Clone)
ID: 1254_1096
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveLogger(DeadLetterChannelDefinition definition)
    private CamelLogger resolveLogger(DeadLetterChannelDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 220_258
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/transform/GoogleMailStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.mail.stream.transform.GoogleMailStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.mail.stream.consume");

        if (message.getHeaders().containsKey(GoogleMailStreamConstants.MAIL_FROM)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.mail.stream." + message.getHeader(GoogleMailStreamConstants.MAIL_FROM, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleMailStreamConstants.MAIL_SUBJECT, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #776 Negative (Non-Clone)
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
ID: 765_686
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorBucketName(Exchange exchange)
    private String determineVectorBucketName(Exchange exchange) {
        String vectorBucketName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_BUCKET_NAME, String.class);
        if (vectorBucketName == null) {
            vectorBucketName = getConfiguration().getVectorBucketName();
        }
        if (vectorBucketName == null) {
            throw new IllegalArgumentException("Vector bucket name must be specified");
        }
        return vectorBucketName;
    }
Pair #777 Negative (Non-Clone)
ID: 18_23
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulAgentProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulAgentProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulAgentProducer target = (org.apache.camel.component.consul.endpoint.ConsulAgentProducer) obj;
        switch (key) {
        case "agent":
        case "AGENT": return target.invokeAgent(exchange.getMessage());
        case "checks":
        case "CHECKS": return target.invokeChecks(exchange.getMessage());
        case "deregister":
        case "DEREGISTER": target.invokeDeregister(exchange.getMessage()); return null;
        case "members":
        case "MEMBERS": return target.invokeMembers(exchange.getMessage());
        case "register":
        case "REGISTER": target.invokeRegister(exchange.getMessage()); return null;
        case "services":
        case "SERVICES": return target.invokeServices(exchange.getMessage());
        default: return null;
        }
    }
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
Pair #778 Negative (Non-Clone)
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 2657_2326
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
Name: org.apache.camel.processor.SetBodyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, false);
            } else {
                 
                old.setBody(newBody);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #779 Negative (Non-Clone)
ID: 1459_1311
ClassID: 1459
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprOperationResponse.java
Name: org.apache.camel.component.dapr.operations.DaprOperationResponse.createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus)
    public static DaprOperationResponse createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus) {
        Map<String, Object> responseHeaders = new HashMap<>();

        responseHeaders.put(DaprConstants.WORKFLOW_NAME, workflowStatus.getName());
        responseHeaders.put(DaprConstants.WORKFLOW_CREATED_AT, workflowStatus.getCreatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_UPDATED_AT, workflowStatus.getLastUpdatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_INPUT, workflowStatus.getSerializedInput());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_OUTPUT, workflowStatus.getSerializedOutput());
        responseHeaders.put(DaprConstants.WORKFLOW_FAILURE_DETAILS, workflowStatus.getFailureDetails());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_RUNNING, workflowStatus.isRunning());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_COMPLETED, workflowStatus.isCompleted());

        return create(workflowStatus, responseHeaders);
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #780 Negative (Non-Clone)
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
Pair #781 Negative (Non-Clone)
ID: 1307_1154
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping OpenShift DeploymentConfigs Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2249_1778
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutIfAbsentAsync(Message message)
    public void onPutIfAbsentAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putIfAbsentAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putIfAbsentAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putIfAbsentAsync(key, value);
        }

        setResult(message, result);
    }
Pair #782 Negative (Non-Clone)
ID: 3290_2690
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.createKeyManagers()
    public KeyManager[] createKeyManagers() throws GeneralSecurityException, IOException {
        LOG.trace("Creating KeyManager[] from KeyManagersParameters [{}].", this);
        KeyManager[] keyManagers;

        String kmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (this.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, this.parsePropertyValue(this.getProvider()));
        }

        LOG.debug("KeyManagerFactory [{}], initialized from [{}], is using provider [{}] and algorithm [{}].",
                kmf, this, kmf.getProvider(), kmf.getAlgorithm());

        char[] kmfPassword = null;
        if (this.getKeyPassword() != null) {
            kmfPassword = this.parsePropertyValue(this.getKeyPassword()).toCharArray();
        }

        KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        keyManagers = kmf.getKeyManagers();

        LOG.debug("KeyManager[] [{}], initialized from KeyManagerFactory [{}].", keyManagers, kmf);

        return keyManagers;
    }
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #783 Negative (Non-Clone)
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
Pair #784 Negative (Non-Clone)
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #785 Negative (Non-Clone)
ID: 2382_1874
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ThrowExceptionDefinition.java
Name: org.apache.camel.model.ThrowExceptionDefinition.description()
    protected String description() {
        if (exception != null) {
            return exception.getClass().getCanonicalName();
        } else if (ref != null) {
            return "ref:" + ref;
        } else {
            return "";
        }
    }
ID: 3269_2637
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy)
    private static void invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy) {
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onBeforeRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onBeforeRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onBeforeRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #786 Negative (Non-Clone)
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
ID: 1876_1550
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getCeOverrides()
    public Map<String, String> getCeOverrides() {
        Map<String, String> answer = new HashMap<>();
        if (this.ceOverrides != null) {
            answer.putAll(this.ceOverrides);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_CE_OVERRIDE_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_CE_OVERRIDE_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
Pair #787 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #788 Negative (Non-Clone)
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 1404_1254
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitSm[] submitSms, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitSms.length - 1; i++) {
            submitSms[i].setRegisteredDelivery(flag);
        }
        submitSms[submitSms.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #789 Negative (Non-Clone)
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
Pair #790 Negative (Non-Clone)
ID: 26_41
ClassID: 26
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
Pair #791 Negative (Non-Clone)
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
Pair #792 Negative (Non-Clone)
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 3176_2451
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchemaFactory()
    public SchemaFactory getSchemaFactory() {
        if (schemaFactory == null) {
            lock.lock();
            try {
                if (schemaFactory == null) {
                    schemaFactory = createSchemaFactory();
                }
            } finally {
                lock.unlock();
            }
        }
        return schemaFactory;
    }
Pair #793 Negative (Non-Clone)
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
ID: 2567_2147
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/generated/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, false);
    }
Pair #794 Negative (Non-Clone)
ID: 233_283
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareDirectoryClient dirClient)
    private boolean existsRemote(ShareDirectoryClient dirClient) {
        try {
            return Boolean.TRUE.equals(
                    dirClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
Pair #795 Negative (Non-Clone)
ID: 1314_1214
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doCreateOrUpdateConfigMap(Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation)
    private void doCreateOrUpdateConfigMap(
            Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HashMap<String, String> configMapData
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
        HashMap<String, String> configMapAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("{} a specific configMap require specify a configMap name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a configMap name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific configMap require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(configMapData)) {
            LOG.error("{} a specific configMap require specify a data map", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a data map", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapBuilder cfMapCreating = new ConfigMapBuilder();
        if (ObjectHelper.isEmpty(configMapAnnotations)) {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).endMetadata().withData(configMapData);
        } else {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).withAnnotations(configMapAnnotations)
                    .endMetadata().withData(configMapData);
        }
        ConfigMap configMap
                = operation.apply(
                        getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName)
                                .resource(cfMapCreating.build()));

        prepareOutboundMessage(exchange, configMap);
    }
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
Pair #796 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #797 Negative (Non-Clone)
ID: 230_277
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FTPFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FTPFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FTPFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FTPFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
Pair #798 Negative (Non-Clone)
ID: 2522_2083
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.KafkaComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((KafkaComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "brokers": getOrCreateConfiguration((KafkaComponent) component).setBrokers((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((KafkaComponent) component).setClientId((java.lang.String) value); return true;
            case "configuration": ((KafkaComponent) component).setConfiguration((org.apache.camel.component.kafka.KafkaConfiguration) value); return true;
            case "headerFilterStrategy": getOrCreateConfiguration((KafkaComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "reconnectBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMaxMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMaxMs((java.lang.Integer) value); return true;
            case "retryBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setRetryBackoffMs((java.lang.Integer) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((KafkaComponent) component).setShutdownTimeout((int) value); return true;
            case "allowManualCommit": getOrCreateConfiguration((KafkaComponent) component).setAllowManualCommit((boolean) value); return true;
            case "autoCommitEnable": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitEnable((boolean) value); return true;
            case "autoCommitIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setAutoCommitIntervalMs((java.lang.Integer) value); return true;
            case "autoOffsetReset": getOrCreateConfiguration((KafkaComponent) component).setAutoOffsetReset((java.lang.String) value); return true;
            case "batching": getOrCreateConfiguration((KafkaComponent) component).setBatching((boolean) value); return true;
            case "batchingIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setBatchingIntervalMs((java.lang.Integer) value); return true;
            case "breakOnFirstError": getOrCreateConfiguration((KafkaComponent) component).setBreakOnFirstError((boolean) value); return true;
            case "bridgeErrorHandler": ((KafkaComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "checkCrcs": getOrCreateConfiguration((KafkaComponent) component).setCheckCrcs((java.lang.Boolean) value); return true;
            case "commitTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setCommitTimeoutMs((java.lang.Long) value); return true;
            case "consumerRequestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setConsumerRequestTimeoutMs((java.lang.Integer) value); return true;
            case "consumersCount": getOrCreateConfiguration((KafkaComponent) component).setConsumersCount((int) value); return true;
            case "fetchMaxBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMaxBytes((java.lang.Integer) value); return true;
            case "fetchMinBytes": getOrCreateConfiguration((KafkaComponent) component).setFetchMinBytes((java.lang.Integer) value); return true;
            case "fetchWaitMaxMs": getOrCreateConfiguration((KafkaComponent) component).setFetchWaitMaxMs((java.lang.Integer) value); return true;
            case "groupId": getOrCreateConfiguration((KafkaComponent) component).setGroupId((java.lang.String) value); return true;
            case "groupInstanceId": getOrCreateConfiguration((KafkaComponent) component).setGroupInstanceId((java.lang.String) value); return true;
            case "headerDeserializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderDeserializer((org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setHeartbeatIntervalMs((java.lang.Integer) value); return true;
            case "keyDeserializer": getOrCreateConfiguration((KafkaComponent) component).setKeyDeserializer((java.lang.String) value); return true;
            case "maxPartitionFetchBytes": getOrCreateConfiguration((KafkaComponent) component).setMaxPartitionFetchBytes((java.lang.Integer) value); return true;
            case "maxPollIntervalMs": getOrCreateConfiguration((KafkaComponent) component).setMaxPollIntervalMs((java.lang.Integer) value); return true;
            case "maxPollRecords": getOrCreateConfiguration((KafkaComponent) component).setMaxPollRecords((java.lang.Integer) value); return true;
            case "offsetRepository": getOrCreateConfiguration((KafkaComponent) component).setOffsetRepository((org.apache.camel.spi.StateRepository) value); return true;
            case "partitionAssignor": getOrCreateConfiguration((KafkaComponent) component).setPartitionAssignor((java.lang.String) value); return true;
            case "pollOnError": getOrCreateConfiguration((KafkaComponent) component).setPollOnError((org.apache.camel.component.kafka.PollOnError) value); return true;
            case "pollTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setPollTimeoutMs((java.lang.Long) value); return true;
            case "preValidateHostAndPort": getOrCreateConfiguration((KafkaComponent) component).setPreValidateHostAndPort((boolean) value); return true;
            case "seekTo": getOrCreateConfiguration((KafkaComponent) component).setSeekTo((org.apache.camel.component.kafka.SeekPolicy) value); return true;
            case "sessionTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setSessionTimeoutMs((java.lang.Integer) value); return true;
            case "specificAvroReader": getOrCreateConfiguration((KafkaComponent) component).setSpecificAvroReader((boolean) value); return true;
            case "topicIsPattern": getOrCreateConfiguration((KafkaComponent) component).setTopicIsPattern((boolean) value); return true;
            case "valueDeserializer": getOrCreateConfiguration((KafkaComponent) component).setValueDeserializer((java.lang.String) value); return true;
            case "createConsumerBackoffInterval": ((KafkaComponent) component).setCreateConsumerBackoffInterval((long) value); return true;
            case "createConsumerBackoffMaxAttempts": ((KafkaComponent) component).setCreateConsumerBackoffMaxAttempts((int) value); return true;
            case "isolationLevel": getOrCreateConfiguration((KafkaComponent) component).setIsolationLevel((java.lang.String) value); return true;
            case "kafkaManualCommitFactory": ((KafkaComponent) component).setKafkaManualCommitFactory((org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory) value); return true;
            case "pollExceptionStrategy": ((KafkaComponent) component).setPollExceptionStrategy((org.apache.camel.component.kafka.PollExceptionStrategy) value); return true;
            case "subscribeConsumerBackoffInterval": ((KafkaComponent) component).setSubscribeConsumerBackoffInterval((long) value); return true;
            case "subscribeConsumerBackoffMaxAttempts": ((KafkaComponent) component).setSubscribeConsumerBackoffMaxAttempts((int) value); return true;
            case "subscribeConsumerTopicMustExists": ((KafkaComponent) component).setSubscribeConsumerTopicMustExists((boolean) value); return true;
            case "batchWithIndividualHeaders": getOrCreateConfiguration((KafkaComponent) component).setBatchWithIndividualHeaders((boolean) value); return true;
            case "bufferMemorySize": getOrCreateConfiguration((KafkaComponent) component).setBufferMemorySize((java.lang.Integer) value); return true;
            case "compressionCodec": getOrCreateConfiguration((KafkaComponent) component).setCompressionCodec((java.lang.String) value); return true;
            case "connectionMaxIdleMs": getOrCreateConfiguration((KafkaComponent) component).setConnectionMaxIdleMs((java.lang.Integer) value); return true;
            case "deliveryTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setDeliveryTimeoutMs((java.lang.Integer) value); return true;
            case "enableIdempotence": getOrCreateConfiguration((KafkaComponent) component).setEnableIdempotence((boolean) value); return true;
            case "headerSerializer": getOrCreateConfiguration((KafkaComponent) component).setHeaderSerializer((org.apache.camel.component.kafka.serde.KafkaHeaderSerializer) value); return true;
            case "key": getOrCreateConfiguration((KafkaComponent) component).setKey((java.lang.String) value); return true;
            case "keySerializer": getOrCreateConfiguration((KafkaComponent) component).setKeySerializer((java.lang.String) value); return true;
            case "lazyStartProducer": ((KafkaComponent) component).setLazyStartProducer((boolean) value); return true;
            case "lingerMs": getOrCreateConfiguration((KafkaComponent) component).setLingerMs((java.lang.Integer) value); return true;
            case "maxBlockMs": getOrCreateConfiguration((KafkaComponent) component).setMaxBlockMs((java.lang.Integer) value); return true;
            case "maxInFlightRequest": getOrCreateConfiguration((KafkaComponent) component).setMaxInFlightRequest((java.lang.Integer) value); return true;
            case "maxRequestSize": getOrCreateConfiguration((KafkaComponent) component).setMaxRequestSize((java.lang.Integer) value); return true;
            case "metadataMaxAgeMs": getOrCreateConfiguration((KafkaComponent) component).setMetadataMaxAgeMs((java.lang.Integer) value); return true;
            case "metricReporters": getOrCreateConfiguration((KafkaComponent) component).setMetricReporters((java.lang.String) value); return true;
            case "metricsSampleWindowMs": getOrCreateConfiguration((KafkaComponent) component).setMetricsSampleWindowMs((java.lang.Integer) value); return true;
            case "noOfMetricsSample": getOrCreateConfiguration((KafkaComponent) component).setNoOfMetricsSample((java.lang.Integer) value); return true;
            case "partitioner": getOrCreateConfiguration((KafkaComponent) component).setPartitioner((java.lang.String) value); return true;
            case "partitionerIgnoreKeys": getOrCreateConfiguration((KafkaComponent) component).setPartitionerIgnoreKeys((boolean) value); return true;
            case "partitionKey": getOrCreateConfiguration((KafkaComponent) component).setPartitionKey((java.lang.Integer) value); return true;
            case "producerBatchSize": getOrCreateConfiguration((KafkaComponent) component).setProducerBatchSize((java.lang.Integer) value); return true;
            case "queueBufferingMaxMessages": getOrCreateConfiguration((KafkaComponent) component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
            case "receiveBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setReceiveBufferBytes((java.lang.Integer) value); return true;
            case "reconnectBackoffMs": getOrCreateConfiguration((KafkaComponent) component).setReconnectBackoffMs((java.lang.Integer) value); return true;
            case "requestRequiredAcks": getOrCreateConfiguration((KafkaComponent) component).setRequestRequiredAcks((java.lang.String) value); return true;
            case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) component).setRequestTimeoutMs((java.lang.Integer) value); return true;
            case "retries": getOrCreateConfiguration((KafkaComponent) component).setRetries((java.lang.Integer) value); return true;
            case "sendBufferBytes": getOrCreateConfiguration((KafkaComponent) component).setSendBufferBytes((java.lang.Integer) value); return true;
            case "transacted": getOrCreateConfiguration((KafkaComponent) component).setTransacted((boolean) value); return true;
            case "transactionalId": getOrCreateConfiguration((KafkaComponent) component).setTransactionalId((java.lang.String) value); return true;
            case "useIterator": getOrCreateConfiguration((KafkaComponent) component).setUseIterator((boolean) value); return true;
            case "valueSerializer": getOrCreateConfiguration((KafkaComponent) component).setValueSerializer((java.lang.String) value); return true;
            case "workerPool": getOrCreateConfiguration((KafkaComponent) component).setWorkerPool((java.util.concurrent.ExecutorService) value); return true;
            case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
            case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) component).setRecordMetadata((boolean) value); return true;
            case "autowiredEnabled": ((KafkaComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "kafkaClientFactory": ((KafkaComponent) component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory) value); return true;
            case "synchronous": getOrCreateConfiguration((KafkaComponent) component).setSynchronous((boolean) value); return true;
            case "healthCheckConsumerEnabled": ((KafkaComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
            case "healthCheckProducerEnabled": ((KafkaComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
            case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
            case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
            case "kerberosConfigLocation": getOrCreateConfiguration((KafkaComponent) component).setKerberosConfigLocation((java.lang.String) value); return true;
            case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
            case "kerberosPrincipalToLocalRules": getOrCreateConfiguration((KafkaComponent) component).setKerberosPrincipalToLocalRules((java.lang.String) value); return true;
            case "kerberosRenewJitter": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewJitter((java.lang.Double) value); return true;
            case "kerberosRenewWindowFactor": getOrCreateConfiguration((KafkaComponent) component).setKerberosRenewWindowFactor((java.lang.Double) value); return true;
            case "saslJaasConfig": getOrCreateConfiguration((KafkaComponent) component).setSaslJaasConfig((java.lang.String) value); return true;
            case "saslKerberosServiceName": getOrCreateConfiguration((KafkaComponent) component).setSaslKerberosServiceName((java.lang.String) value); return true;
            case "saslMechanism": getOrCreateConfiguration((KafkaComponent) component).setSaslMechanism((java.lang.String) value); return true;
            case "securityProtocol": getOrCreateConfiguration((KafkaComponent) component).setSecurityProtocol((java.lang.String) value); return true;
            case "sslCipherSuites": getOrCreateConfiguration((KafkaComponent) component).setSslCipherSuites((java.lang.String) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((KafkaComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslEnabledProtocols": getOrCreateConfiguration((KafkaComponent) component).setSslEnabledProtocols((java.lang.String) value); return true;
            case "sslEndpointAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslEndpointAlgorithm((java.lang.String) value); return true;
            case "sslKeymanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslKeymanagerAlgorithm((java.lang.String) value); return true;
            case "sslKeyPassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeyPassword((java.lang.String) value); return true;
            case "sslKeystoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreLocation((java.lang.String) value); return true;
            case "sslKeystorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslKeystorePassword((java.lang.String) value); return true;
            case "sslKeystoreType": getOrCreateConfiguration((KafkaComponent) component).setSslKeystoreType((java.lang.String) value); return true;
            case "sslProtocol": getOrCreateConfiguration((KafkaComponent) component).setSslProtocol((java.lang.String) value); return true;
            case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
            case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
            case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
            case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #799 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 1116_952
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getSecretKey(ImageRecognitionEndpoint endpoint)
    private String getSecretKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getSecretKey())) {
            return endpoint.getSecretKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getSecretKey())) {
            return endpoint.getServiceKeys().getSecretKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'secret key (SK)' not found");
        }
    }
Pair #800 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 103_83
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourcePermissionRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().permissions()
                        .resource().create((ResourcePermissionRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create permission requires POJO request with ResourcePermissionRepresentation");
        }
    }
Pair #801 Negative (Non-Clone)
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 103_86
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResource(Keycloak keycloakClient, Exchange exchange)
    private void updateResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String resourceId = exchange.getIn().getHeader(KeycloakConstants.RESOURCE_ID, String.class);
        if (ObjectHelper.isEmpty(resourceId)) {
            throw new IllegalArgumentException("Resource ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources().resource(resourceId)
                        .update((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Resource updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #802 Negative (Non-Clone)
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #803 Negative (Non-Clone)
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #804 Negative (Non-Clone)
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
Pair #805 Negative (Non-Clone)
ID: 3292_2695
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextServerParameters[clientAuthentication=");
        builder.append(clientAuthentication);
        builder.append(", getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #806 Negative (Non-Clone)
ID: 836_718
ClassID: 836
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
Name: org.apache.camel.component.paho.PahoProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectOptions);
        }
    }
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #807 Negative (Non-Clone)
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #808 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #809 Negative (Non-Clone)
ID: 248_320
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubProducerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubProducerAsyncClient createEventHubProducerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncProducerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncProducerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncProducerClient();
    }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #810 Negative (Non-Clone)
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 3308_2720
ClassID: 3308
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.doValidateSimple(ClassLoader classLoader, String simple, boolean predicate)
    private LanguageValidationResult doValidateSimple(ClassLoader classLoader, String simple, boolean predicate) {
        if (classLoader == null) {
            classLoader = getClass().getClassLoader();
        }

         
         
         
         
        String resolved = simple.replaceAll("\\{\\{(.+)\\}\\}", "~^$1^~");

        LanguageValidationResult answer = new LanguageValidationResult(simple);

        Object context;
        Object instance = null;
        Class<?> clazz;

        try {
             
            clazz = classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
            context = clazz.getDeclaredConstructor(boolean.class).newInstance(false);
            clazz = classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
            instance = clazz.getDeclaredConstructor().newInstance();
            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
            instance.getClass().getMethod("setCamelContext", clazz).invoke(instance, context);
        } catch (Exception e) {
            clazz = null;
            answer.setError(e.getMessage());
        }

        if (clazz != null) {
            Throwable cause = null;
            try {
                if (predicate) {
                    instance.getClass().getMethod("createPredicate", String.class).invoke(instance, resolved);
                } else {
                    instance.getClass().getMethod("createExpression", String.class).invoke(instance, resolved);
                }
            } catch (InvocationTargetException e) {
                cause = e.getTargetException();
            } catch (Exception e) {
                cause = e;
            }

            if (cause != null) {

                 
                String errMsg = cause.getMessage();
                errMsg = errMsg.replaceAll("\\~\\^(.+)\\^\\~", "{{$1}}");

                answer.setError(errMsg);

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")  
                        || cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleParserException")) {  
                    try {
                         
                        Method method = cause.getClass().getMethod("getIndex");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            int index = (int) result;
                            answer.setIndex(index);
                        }
                    } catch (Exception i) {
                         
                    }
                }

                 
                 
                if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {  
                    try {
                        Method method = cause.getClass().getMethod("getShortMessage");
                        Object result = method.invoke(cause);
                        if (result != null) {
                            String msg = (String) result;
                            answer.setShortError(msg);
                        }
                    } catch (Exception i) {
                         
                    }

                    if (answer.getShortError() == null) {
                         
                        String msg = answer.getError();
                         
                        int idx = msg.indexOf(" at location ");
                        if (idx > 0) {
                            msg = msg.substring(0, idx);
                            answer.setShortError(msg);
                        }
                    }
                }
            }
        }

        return answer;
    }
Pair #811 Negative (Non-Clone)
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #812 Negative (Non-Clone)
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #813 Negative (Non-Clone)
ID: 899_769
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request
                = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1032_882
ClassID: 1032
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
    public static HttpMethods createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
        String queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
             
            uriString = UnsafeUriCharactersEncoder.encodeHttpURI(uriString);
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }

        HttpMethods answer;
        if (endpoint.getHttpMethod() != null) {
             
            answer = endpoint.getHttpMethod();
        } else {
             
            HttpMethods m = exchange.getIn().getHeader(Exchange.HTTP_METHOD, HttpMethods.class);
            if (m != null) {
                 
                answer = m;
            } else if (queryString != null) {
                 
                answer = HttpMethods.GET;
            } else {
                 
                answer = hasPayload ? HttpMethods.POST : HttpMethods.GET;
            }
        }

        return answer;
    }
Pair #814 Negative (Non-Clone)
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 241_306
ClassID: 241
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("GCP Secret Manager:");
            if (propertiesFunction.isUseDefaultInstance()) {
                sb.append("\n    Login: Default Instance");
            } else {
                sb.append("\n    Login: Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", gcp.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", gcp.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
Pair #815 Negative (Non-Clone)
ID: 2522_2082
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Activemq6ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.Activemq6ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #816 Negative (Non-Clone)
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #817 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
Pair #818 Negative (Non-Clone)
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
Pair #819 Negative (Non-Clone)
ID: 3335_2735
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstNotNull(ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstNotNull(ThrowingSupplier<T, Exception>... suppliers) throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (answer != null) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #820 Negative (Non-Clone)
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 3172_2442
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.completedExchange(exchange, time);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesCompleted.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.completedExchange(exchange, time);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesCompleted.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
Pair #821 Negative (Non-Clone)
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
Pair #822 Negative (Non-Clone)
ID: 3098_2362
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.disabled(String disabled)
    public RestDefinition disabled(String disabled) {
        if (getVerbs().isEmpty()) {
            this.disabled = disabled;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setDisabled(disabled);
        }

        return this;
    }
ID: 899_766
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java
Name: org.apache.camel.component.google.drive.GoogleDriveProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #823 Negative (Non-Clone)
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #824 Negative (Non-Clone)
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1410_1263
ClassID: 1410
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
Name: org.apache.camel.http.common.HttpCommonEndpoint.getPort()
    public int getPort() {
        if (httpUri.getPort() == -1) {
            if ("https".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return httpUri.getPort();
    }
Pair #825 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 248_321
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubConsumerAsyncClient createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .consumerGroup(configuration.getConsumerGroupName())
                .prefetchCount(configuration.getPrefetchCount())
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncConsumerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncConsumerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncConsumerClient();
    }
Pair #826 Negative (Non-Clone)
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
ID: 1040_901
ClassID: 1040
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.isInputStreamNeeded(Object payload)
    protected boolean isInputStreamNeeded(Object payload) {
        if (payload == null) {
            return false;
        }

        if (payload instanceof Source) {
            return false;
        } else if (payload instanceof String) {
            return false;
        } else if (payload instanceof byte[]) {
            return false;
        } else if (payload instanceof Node) {
            return false;
        }

         
        return true;
    }
Pair #827 Negative (Non-Clone)
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
Pair #828 Negative (Non-Clone)
ID: 217_237
ClassID: 217
File: systems/camel-java/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityProcessor.java
Name: org.apache.camel.component.shiro.security.ShiroSecurityProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            applySecurityPolicy(exchange);
        } catch (Exception e) {
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }

        return super.process(exchange, callback);
    }
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #829 Negative (Non-Clone)
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #830 Negative (Non-Clone)
ID: 27_43
ClassID: 27
File: systems/camel-java/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1636_1404
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/BeanDefinitionParser.java
Name: org.apache.camel.spring.xml.handler.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #831 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
Pair #832 Negative (Non-Clone)
ID: 2190_1726
ClassID: 2190
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.getVolume(Exchange exchange)
    private void getVolume(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        Volume volume = null;
        if (ObjectHelper.isEmpty(volumeId)) {
            String name = exchange.getIn().getHeader(DigitalOceanHeaders.NAME, String.class);
            String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

            if (ObjectHelper.isEmpty(name) && ObjectHelper.isEmpty(region)) {
                throw new IllegalArgumentException(
                        DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.NAME + " and " + DigitalOceanHeaders.REGION
                                                   + " must be specified");
            }

            List<Volume> volumes = getEndpoint().getDigitalOceanClient().getVolumeInfo(name, region).getVolumes();
            if (!volumes.isEmpty()) {
                 
                volume = volumes.get(0);
            }
        } else {
            volume = getEndpoint().getDigitalOceanClient().getVolumeInfo(volumeId);
        }

        LOG.trace("Volume [{}] ", volume);
        exchange.getMessage().setBody(volume);

    }
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
Pair #833 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #834 Negative (Non-Clone)
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
Pair #835 Negative (Non-Clone)
ID: 2522_2082
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Activemq6ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.Activemq6ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #836 Negative (Non-Clone)
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
ID: 2098_1694
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
Name: org.apache.camel.component.file.remote.FtpsEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPSClient client = getFtpsClient();

        if (client == null) {
             
             
            client = (FTPSClient) createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPSClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpsOperations operations = new FtpsOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
Pair #837 Negative (Non-Clone)
ID: 1406_1257
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, AlertNotification alertNotification)
    public SmppMessage createSmppMessage(CamelContext camelContext, AlertNotification alertNotification) {
        SmppMessage smppMessage = new SmppMessage(camelContext, alertNotification, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.AlertNotification.toString());
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, alertNotification.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, alertNotification.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, alertNotification.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, alertNotification.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, alertNotification.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, alertNotification.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.ESME_ADDR, alertNotification.getEsmeAddr());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_NPI, alertNotification.getEsmeAddrNpi());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_TON, alertNotification.getEsmeAddrTon());

        return smppMessage;
    }
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #838 Negative (Non-Clone)
ID: 1752_1456
ClassID: 1752
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
        }
        return key;
    }
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
Pair #839 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2468_1988
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #840 Negative (Non-Clone)
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
Pair #841 Negative (Non-Clone)
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #842 Negative (Non-Clone)
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
ID: 196_226
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        final Message inboundMessage = exchange.getIn();
        final Map<String, Object> outputHeaders = out.getHeaders();
        outputHeaders.putAll(inboundMessage.getHeaders());
        outputHeaders.putAll(headers);

         
        callback.done(false);
    }
Pair #843 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #844 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 685_622
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #845 Negative (Non-Clone)
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #846 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #847 Negative (Non-Clone)
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #848 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #849 Negative (Non-Clone)
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #850 Negative (Non-Clone)
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #851 Negative (Non-Clone)
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #852 Negative (Non-Clone)
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
ID: 971_813
ClassID: 971
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        validate();
        JpaConsumer consumer = new JpaConsumer(this, processor);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        consumer.setTransacted(isTransacted());
        consumer.setSkipLockedEntity(isSkipLockedEntity());
        consumer.setDeleteHandler(getDeleteHandler());
        consumer.setPreDeleteHandler(getPreDeleteHandler());
        configureConsumer(consumer);
        return consumer;
    }
Pair #853 Negative (Non-Clone)
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #854 Negative (Non-Clone)
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 2588_2191
ClassID: 2588
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
Name: org.apache.camel.maven.packaging.PrepareComponentMojo.syncParentPomFile(String token)
    private void syncParentPomFile(String token) throws MojoExecutionException {
        Path root = findCamelDirectory(project.getBasedir(), "parent").toPath();
        Path pomFile = root.resolve("pom.xml");

        final String startDependenciesMarker = "<!-- camel " + token + ": START -->";
        final String endDependenciesMarker = "<!-- camel " + token + ": END -->";

        if (!Files.isRegularFile(pomFile)) {
            throw new MojoExecutionException("Pom file " + pomFile + " does not exist");
        }

        try {
            final String pomText = loadText(pomFile);

            final String before = Strings.before(pomText, startDependenciesMarker);
            final String after = Strings.after(pomText, endDependenciesMarker);

            final String between = pomText.substring(before.length(), pomText.length() - after.length());

            Pattern pattern = Pattern.compile(
                    "<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>\\s*<version>(?<version>.*)</version>");
            Matcher matcher = pattern.matcher(between);

            TreeSet<MavenGav> dependencies = new TreeSet<>();
            while (matcher.find()) {
                String v = matcher.groupCount() > 2 ? matcher.group(3) : project.getVersion();
                MavenGav gav = new MavenGav(matcher.group(1), matcher.group(2), v, null);
                dependencies.add(gav);
            }
             
            dependencies.add(new MavenGav(
                    project.getGroupId(), project.getArtifactId(), "${project.version}", project.getArtifact().getType()));

             
            String s = dependencies.stream()
                    .map(g -> g.asString("            "))
                    .collect(Collectors.joining("\n"));
            final String updatedPom = before + startDependenciesMarker
                                      + "\n" + s + "\n"
                                      + "        " + endDependenciesMarker + after;

            updateResource(root, "pom.xml", updatedPom);
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + pomFile + " Reason: " + e, e);
        }
    }
Pair #855 Negative (Non-Clone)
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 436_449
ClassID: 436
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
Name: org.apache.camel.component.mail.MailConfiguration.copy()
    public MailConfiguration copy() {
        try {
            MailConfiguration copy = (MailConfiguration) clone();
             
            copy.recipients = new HashMap<>();
            copy.recipients.putAll(this.recipients);
            return copy;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #856 Negative (Non-Clone)
ID: 834_713
ClassID: 834
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanStart()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #857 Negative (Non-Clone)
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #858 Negative (Non-Clone)
ID: 2586_2188
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateEndpointConfigurer(Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateEndpointConfigurer(
            Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes,
            ComponentModel componentModel, ComponentModel parentData) {
        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();

        String pfqn;
        boolean hasSuper;
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
            try {
                pfqn = classElement.getSuperclass().getName() + "Configurer";
                hasSuper = true;
            } catch (NoClassDefFoundError e) {
                pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
                hasSuper = false;
                parentData = null;
            }
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqEndpointClassName = classElement.getName();
        String endpointClassName = fqEndpointClassName.substring(fqEndpointClassName.lastIndexOf('.') + 1);
        String className = endpointClassName + "Configurer";
        String packageName = fqEndpointClassName.substring(0, fqEndpointClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<EndpointOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getEndpointParameterOptions().stream()
                    .map(EndpointOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getEndpointParameterOptions().stream()
                    .filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getEndpointParameterOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, endpointClassName,
                pfqn, psn,
                componentModel.getScheme() + "-endpoint", hasSuper, false,
                options, componentModel);
    }
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
Pair #859 Negative (Non-Clone)
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
ID: 738_664
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/oracle/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.drop.on.stop", logMiningBufferDropOnStop);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.host", openlogreplicatorHost);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.include.redo.sql", logMiningIncludeRedoSql);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "log.mining.readonly.hostname", logMiningReadonlyHostname);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.gap.size.min", logMiningScnGapDetectionGapSizeMin);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.default.ms", logMiningSleepTimeDefaultMs);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.increment", logMiningBatchSizeIncrement);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.scn.poll.interval.ms", logMiningArchiveLogOnlyScnPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "log.mining.restart.connection", logMiningRestartConnection);
        addPropertyIfNotNull(configBuilder, "legacy.decimal.handling.strategy", legacyDecimalHandlingStrategy);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.transactions", logMiningBufferInfinispanCacheTransactions);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.schemachanges.config", logMiningBufferEhcacheSchemachangesConfig);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "log.mining.strategy", logMiningStrategy);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.out.server.name", databaseOutServerName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "archive.log.hours", archiveLogHours);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "database.pdb.name", databasePdbName);
        addPropertyIfNotNull(configBuilder, "database.connection.adapter", databaseConnectionAdapter);
        addPropertyIfNotNull(configBuilder, "log.mining.flush.table.name", logMiningFlushTableName);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.source", openlogreplicatorSource);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.type", logMiningBufferType);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "log.mining.query.filter.mode", logMiningQueryFilterMode);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.default", logMiningBatchSizeDefault);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.processedtransactions.config", logMiningBufferEhcacheProcessedtransactionsConfig);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.global.config", logMiningBufferEhcacheGlobalConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.min.ms", logMiningSleepTimeMinMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.include.list", logMiningClientidIncludeList);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.exclude.list", logMiningClientidExcludeList);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "log.mining.username.include.list", logMiningUsernameIncludeList);
        addPropertyIfNotNull(configBuilder, "lob.enabled", lobEnabled);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.mode", logMiningArchiveLogOnlyMode);
        addPropertyIfNotNull(configBuilder, "log.mining.path.dictionary", logMiningPathDictionary);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.schema_changes", logMiningBufferInfinispanCacheSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.max.ms", logMiningSleepTimeMaxMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.username.exclude.list", logMiningUsernameExcludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.transactions.config", logMiningBufferEhcacheTransactionsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.processed_transactions", logMiningBufferInfinispanCacheProcessedTransactions);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.events", logMiningBufferInfinispanCacheEvents);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "archive.destination.name", archiveDestinationName);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.time.interval.max.ms", logMiningScnGapDetectionTimeIntervalMaxMs);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "rac.nodes", racNodes);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.global", logMiningBufferInfinispanCacheGlobal);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.transaction.events.threshold", logMiningBufferTransactionEventsThreshold);
        addPropertyIfNotNull(configBuilder, "log.mining.transaction.retention.ms", logMiningTransactionRetentionMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.database.errors.max.retries", snapshotDatabaseErrorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.port", openlogreplicatorPort);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.events.config", logMiningBufferEhcacheEventsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.max", logMiningBatchSizeMax);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "database.url", databaseUrl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.increment.ms", logMiningSleepTimeIncrementMs);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.session.max.ms", logMiningSessionMaxMs);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.min", logMiningBatchSizeMin);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #860 Negative (Non-Clone)
ID: 3266_2631
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(K key, V value)
    public V putIfAbsent(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        if (v != null) {
                            return v;
                        }
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 1253_1093
ClassID: 1253
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
        String uri = parseString(definition.getDeadLetterUri());
        ObjectHelper.notNull(uri, "deadLetterUri", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);

        Processor deadLetterProcessor = createDeadLetterChannelProcessor(uri);

        DeadLetterChannel answer = new DeadLetterChannel(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy, deadLetterProcessor, uri,
                parseBoolean(definition.getDeadLetterHandleNewException(), true),
                parseBoolean(definition.getUseOriginalMessage(), false),
                parseBoolean(definition.getUseOriginalBody(), false),
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                getProcessor(definition.getOnPrepareFailureProcessor(), definition.getOnPrepareFailureRef()),
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
Pair #861 Negative (Non-Clone)
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
ID: 217_239
ClassID: 217
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
Name: org.apache.camel.impl.engine.SubscribeMethodProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            for (Map.Entry<AsyncProcessor, Predicate> entry : methods.entrySet()) {
                Predicate predicate = entry.getValue();
                if (predicate.matches(exchange)) {
                    return entry.getKey().process(exchange, callback);
                }
            }
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #862 Negative (Non-Clone)
ID: 878_729
ClassID: 878
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.LocalDateTimePatternFormat(String pattern, String timezone, Locale locale)
        LocalDateTimePatternFormat(String pattern, String timezone, Locale locale) {
            this.pattern = pattern;
            this.locale = locale;
            if (timezone.isEmpty()) {
                this.zone = ZoneId.systemDefault();
            } else {
                this.zone = ZoneId.of(timezone);
            }
        }
ID: 2049_1666
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #863 Negative (Non-Clone)
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
Pair #864 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
Pair #865 Negative (Non-Clone)
ID: 1304_1138
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseSecretPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseSecretPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        Secret sec = getClient().secrets().withName(name).get();
        if (sec != null) {
             
            answer = sec.getStringData() != null ? sec.getStringData().get(key) : null;
            if (answer == null) {
                 
                answer = sec.getData() != null ? sec.getData().get(key) : null;
                if (answer != null) {
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
ID: 1062_916
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerClaimedRoles(List<String> signerClaimedRoles)
    public void setSignerClaimedRoles(List<String> signerClaimedRoles) {
        if (signerClaimedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerClaimedRoles' is null");
        }
        for (String role : signerClaimedRoles) {
            if (role == null || role.isEmpty()) {
                throw new IllegalArgumentException("At least one of the signer claimed roles is null or empty");
            }
        }
        this.signerClaimedRoles = new ArrayList<>(signerClaimedRoles);
    }
Pair #866 Negative (Non-Clone)
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
ID: 897_753
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
Name: org.apache.camel.component.aws2.ddbstream.Ddb2StreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = 0;

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
             
             
            Exchange exchange = (Exchange) exchanges.poll();
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            answer++;
        }

        return answer;
    }
Pair #867 Negative (Non-Clone)
ID: 2294_1808
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.deleteCluster(EksClient eksClient, Exchange exchange)
    private void deleteCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                eksClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.deleteCluster(DeleteClusterRequest.builder().name(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
Pair #868 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
Pair #869 Negative (Non-Clone)
ID: 3258_2615
ClassID: 3258
File: systems/camel-java/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrySelectors.java
Name: org.apache.camel.impl.cloud.ServiceRegistrySelectors.select(Collection<ServiceRegistry> services)
        public Optional<ServiceRegistry> select(Collection<ServiceRegistry> services) {
            Optional<Map.Entry<Integer, List<ServiceRegistry>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(ServiceRegistry::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple ServiceRegistry instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 1011_877
ClassID: 1011
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Producer.java
Name: org.apache.camel.component.olingo2.Olingo2Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo2Constants.RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }

        return false;
    }
Pair #870 Negative (Non-Clone)
ID: 1810_1493
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCommitContainerRequest(DockerClient client, Message message)
    private CommitCmd executeCommitContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Commit Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        CommitCmd commitCmd = client.commitCmd(containerId);

        String author = DockerHelper.getProperty(DockerConstants.DOCKER_AUTHOR, configuration, message, String.class);

        if (author != null) {
            commitCmd.withAuthor(author);
        }

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            commitCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            commitCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            commitCmd.withAttachStdout(attachStdOut);
        }

        String[] cmds = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmds != null) {
            commitCmd.withCmd(cmds);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            commitCmd.withDisableNetwork(disableNetwork);
        }

        String[] envs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (envs != null) {
            commitCmd.withEnv(envs);
        }

        ExposedPorts exposedPorts
                = DockerHelper.getProperty(DockerConstants.DOCKER_EXPOSED_PORTS, configuration, message, ExposedPorts.class);

        if (exposedPorts != null) {
            commitCmd.withExposedPorts(exposedPorts);
        }

        String hostname = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostname != null) {
            commitCmd.withHostname(hostname);
        }

        Integer memory = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY, configuration, message, Integer.class);

        if (memory != null) {
            commitCmd.withMemory(memory);
        }

        Integer memorySwap
                = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Integer.class);

        if (memorySwap != null) {
            commitCmd.withMemorySwap(memorySwap);
        }

        String msg = DockerHelper.getProperty(DockerConstants.DOCKER_MESSAGE, configuration, message, String.class);

        if (msg != null) {
            commitCmd.withMessage(msg);
        }

        Boolean openStdIn = DockerHelper.getProperty(DockerConstants.DOCKER_OPEN_STD_IN, configuration, message, Boolean.class);

        if (openStdIn != null) {
            commitCmd.withOpenStdin(openStdIn);
        }

        Boolean pause = DockerHelper.getProperty(DockerConstants.DOCKER_PAUSE, configuration, message, Boolean.class);

        if (pause != null) {
            commitCmd.withPause(pause);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            commitCmd.withPortSpecs(portSpecs);
        }

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        if (repository != null) {
            commitCmd.withRepository(repository);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            commitCmd.withStdinOnce(stdInOnce);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (tag != null) {
            commitCmd.withTag(tag);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            commitCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            commitCmd.withUser(user);
        }

        Volumes volumes = DockerHelper.getProperty(DockerConstants.DOCKER_VOLUMES, configuration, message, Volumes.class);

        if (volumes != null) {
            commitCmd.withVolumes(volumes);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            commitCmd.withWorkingDir(workingDir);
        }

        return commitCmd;

    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #871 Negative (Non-Clone)
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
ID: 1406_1259
ClassID: 1406
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprPubSubConsumer.java
Name: org.apache.camel.component.dapr.consumer.DaprPubSubConsumer.createServiceBusExchange(final CloudEvent<byte[]> cloudEvent)
    private Exchange createServiceBusExchange(final CloudEvent<byte[]> cloudEvent) {
        final Exchange exchange = createExchange(true);
        final Message message = exchange.getIn();

         
        message.setBody(cloudEvent.getData());

         
        message.setHeader(DaprConstants.PUBSUB_NAME, cloudEvent.getPubsubName());
        message.setHeader(DaprConstants.TOPIC, cloudEvent.getTopic());
        message.setHeader(DaprConstants.ID, cloudEvent.getId());
        message.setHeader(DaprConstants.SOURCE, cloudEvent.getSource());
        message.setHeader(DaprConstants.TYPE, cloudEvent.getType());
        message.setHeader(DaprConstants.SPECIFIC_VERSION, cloudEvent.getSpecversion());
        message.setHeader(DaprConstants.DATA_CONTENT_TYPE, cloudEvent.getDatacontenttype());
        message.setHeader(DaprConstants.BINARY_DATA, cloudEvent.getBinaryData());
        message.setHeader(DaprConstants.TIME, cloudEvent.getTime());
        message.setHeader(DaprConstants.TRACE_PARENT, cloudEvent.getTraceParent());
        message.setHeader(DaprConstants.TRACE_STATE, cloudEvent.getTraceState());

        return exchange;
    }
Pair #872 Negative (Non-Clone)
ID: 2613_2258
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/YAMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.YAMLDataFormatReifier.configureSnakeDataFormat(Map<String, Object> properties)
    protected void configureSnakeDataFormat(Map<String, Object> properties) {
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("classLoader", definition.getClassLoader());
        properties.put("useApplicationContextClassLoader", definition.getUseApplicationContextClassLoader());
        properties.put("prettyFlow", definition.getPrettyFlow());
        properties.put("allowAnyType", definition.getAllowAnyType());
        properties.put("typeFilters", definition.getTypeFilter());
        properties.put("constructor", definition.getConstructor());
        properties.put("representer", definition.getRepresenter());
        properties.put("dumperOptions", definition.getDumperOptions());
        properties.put("resolver", definition.getResolver());
        properties.put("maxAliasesForCollections", definition.getMaxAliasesForCollections());
        properties.put("allowRecursiveKeys", definition.getAllowRecursiveKeys());
    }
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #873 Negative (Non-Clone)
ID: 452_481
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.copyFile(String fileId, String destinationFolderId, String newName)
    public BoxFile copyFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToCopy = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return fileToCopy.copy(destinationFolder).getResource();
            } else {
                return fileToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #874 Negative (Non-Clone)
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
Pair #875 Negative (Non-Clone)
ID: 878_728
ClassID: 878
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalTimeFormatFactory.LocalTimePatternFormat(String pattern, String timezone, Locale locale)
        LocalTimePatternFormat(String pattern, String timezone, Locale locale) {
            this.pattern = pattern;
            this.locale = locale;
            if (timezone.isEmpty()) {
                this.zone = ZoneId.systemDefault();
            } else {
                this.zone = ZoneId.of(timezone);
            }
        }
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #876 Negative (Non-Clone)
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #877 Negative (Non-Clone)
ID: 1195_1023
ClassID: 1195
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
Name: org.apache.camel.component.consul.ConsulRegistry.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        String keyPrefix = type.getName().replace('$', '/');
        Set<T> result = new HashSet<>();

        List<String> keys;
        try {
            keys = kvClient.getKeys(keyPrefix);
        } catch (ConsulException e) {
            return result;
        }

        if (keys != null) {
            Object obj;

            for (String key : keys) {
                 
                key = key.substring(key.lastIndexOf('/') + 1);
                obj = lookupByName(key.replace('$', '/'));
                if (type.isInstance(obj)) {
                    result.add(type.cast(obj));
                }
            }
        }
        return result;
    }
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #878 Negative (Non-Clone)
ID: 1717_1427
ClassID: 1717
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchComponent.java
Name: org.apache.camel.component.opensearch.OpensearchComponent.parseHostAddresses(String ipsString, OpensearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, OpensearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : OpensearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(config.isEnableSSL() ? "HTTPS" : "HTTP", hostname, port));
        }
        return addressesTrAd;
    }
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
Pair #879 Negative (Non-Clone)
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #880 Negative (Non-Clone)
ID: 2097_1692
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownloadComplete(String host, String file)
    public void onDownloadComplete(String host, String file) {
        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg = prefix + " from host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #881 Negative (Non-Clone)
ID: 2558_2129
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelSimpleExpressionDetails> simpleExpressions)
    public static void parseXmlRouteSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelSimpleExpressionDetails> simpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "simple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelSimpleExpressionDetails detail = new CamelSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setSimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                simpleExpressions.add(detail);
            }
        }
    }
ID: 1863_1533
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
Pair #882 Negative (Non-Clone)
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
Pair #883 Negative (Non-Clone)
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
Pair #884 Negative (Non-Clone)
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2339_1842
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #885 Negative (Non-Clone)
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
ID: 3098_2364
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.consumes(String mediaType)
    public RestDefinition consumes(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.consumes = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setConsumes(mediaType);
        }

        return this;
    }
Pair #886 Negative (Non-Clone)
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #887 Negative (Non-Clone)
ID: 3280_2669
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.startsWith(final Expression left, final Expression right)
    public static Predicate startsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.startsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "startsWith";
            }
        };
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #888 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
Pair #889 Negative (Non-Clone)
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 3240_2567
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
Name: org.apache.camel.reifier.SetHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "headerName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetHeaderProcessor answer = new SetHeaderProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #890 Negative (Non-Clone)
ID: 2587_2189
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriParam param, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriParam param, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(param.enums())) {
            String[] values = param.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
ID: 701_645
ClassID: 701
File: systems/camel-java/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateComponent.java
Name: org.apache.camel.component.stringtemplate.StringTemplateComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining);
        answer.setContentCache(contentCache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #891 Negative (Non-Clone)
ID: 3307_2719
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums)
    private void handleNotFound(
            ConfigurationPropertiesValidationResult result, String value, String longKey, List<String> enums) {
        result.addInvalidEnum(longKey, value);
        result.addInvalidEnumChoices(longKey, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(longKey, suggestions);
            }
        }
    }
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #892 Negative (Non-Clone)
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1856_1514
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
Pair #893 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #894 Negative (Non-Clone)
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
Pair #895 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 381_423
ClassID: 381
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
Name: org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSRedelivered(Message message)
    public static Boolean getJMSRedelivered(Message message) {
        if (message == null) {
            return null;
        }

        try {
            return message.getJMSRedelivered();
        } catch (Exception e) {
             
        }

        return null;
    }
Pair #896 Negative (Non-Clone)
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
Pair #897 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
Pair #898 Negative (Non-Clone)
ID: 2301_1823
ClassID: 2301
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumer.java
Name: org.apache.camel.component.aws.cloudtrail.CloudtrailConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int processedExchanges = 0;
        while (!exchanges.isEmpty()) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            processedExchanges++;
        }
        return processedExchanges;
    }
ID: 1240_1065
ClassID: 1240
File: systems/camel-java/components/camel-http-common/src/generated/java/org/apache/camel/http/common/HttpConverterLoader.java
Name: org.apache.camel.http.common.HttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, jakarta.servlet.ServletInputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletInputStream((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletRequest.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletRequest((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletResponse.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletResponse((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.BufferedReader.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toReader((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.servlet.http.HttpServletRequest.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((jakarta.servlet.http.HttpServletRequest) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((org.apache.camel.http.common.HttpMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #899 Negative (Non-Clone)
ID: 2472_2009
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListBlocked.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListBlocked.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("blocked");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.routeId = jo.getString("routeId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.routeId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #900 Negative (Non-Clone)
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
Pair #901 Negative (Non-Clone)
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
Pair #902 Negative (Non-Clone)
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
Pair #903 Negative (Non-Clone)
ID: 1377_1240
ClassID: 1377
File: systems/camel-java/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/support/SplunkDataReader.java
Name: org.apache.camel.component.splunk.support.SplunkDataReader.nonBlockingSearch(SplunkResultProcessor callback)
    private List<SplunkEvent> nonBlockingSearch(SplunkResultProcessor callback) throws Exception {
        LOG.debug("non block search start");

        JobArgs queryArgs = new JobArgs();
        queryArgs.setExecutionMode(ExecutionMode.NORMAL);
        Calendar startTime = Calendar.getInstance();
        populateArgs(queryArgs, startTime, false);

        List<SplunkEvent> data = runQuery(queryArgs, false, callback);
        lastSuccessfulReadTime = startTime;
        return data;
    }
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
Pair #904 Negative (Non-Clone)
ID: 1547_1367
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetChildrenOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetChildrenOperation.getResult()
    public OperationResult<List<String>> getResult() {
        try {
            Stat statistics = new Stat();

            List<String> children = connection.getChildren(node, true, statistics);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received children from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received children from '%s' path ", node));
                }
            }
            return new OperationResult<>(children, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #905 Negative (Non-Clone)
ID: 240_303
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("configmap")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("configmap");
            if (pf instanceof ConfigMapPropertiesFunction) {
                propertiesFunction = (ConfigMapPropertiesFunction) pf;
            }
        }
        KubernetesConfigMapVaultConfiguration kubernetes
                = getCamelContext().getVaultConfiguration().getKubernetesConfigMapVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            cmRefreshTask = scheduler.getTaskByType(ConfigmapsReloadTriggerTask.class);
        }
    }
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
Pair #906 Negative (Non-Clone)
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #907 Negative (Non-Clone)
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #908 Negative (Non-Clone)
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #909 Negative (Non-Clone)
ID: 837_721
ClassID: 837
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
Name: org.apache.camel.component.aws2.sns.Sns2Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        HashMap<String, String> metadata = new HashMap<>();
        if (configuration.getQueueArn() != null) {
            metadata.put("queueArn", configuration.getQueueArn());
        }
        if (configuration.getTopicArn() != null) {
            metadata.put("topicArn", configuration.getTopicArn());
        }
        return metadata;
    }
ID: 468_501
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapProducer.java
Name: org.apache.camel.component.snmp.SnmpTrapProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
        }
    }
Pair #910 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #911 Negative (Non-Clone)
ID: 1307_1143
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes HPA Consumer");
        if (executor != null) {
            KubernetesHelper.close(hpasWatcher, hpasWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #912 Negative (Non-Clone)
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #913 Negative (Non-Clone)
ID: 1994_1638
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Consumer consumer, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = consumer.createExchange(false);
        exchange.setPattern(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #914 Negative (Non-Clone)
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 2522_2078
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMysqlComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMysqlComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMySqlComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMySqlComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMySqlComponent) component).setConfiguration((org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMySqlComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "bigintUnsignedHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBigintUnsignedHandlingMode((java.lang.String) value); return true;
            case "binlogBufferSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setBinlogBufferSize((int) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "connectKeepAlive": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAlive((boolean) value); return true;
            case "connectKeepAliveIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectKeepAliveIntervalMs((long) value); return true;
            case "connectTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConnectTimeoutMs((int) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMySqlComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMySqlComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databaseJdbcDriver": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseJdbcDriver((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabasePort((int) value); return true;
            case "databaseProtocol": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseProtocol((java.lang.String) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseServerId": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerId((long) value); return true;
            case "databaseServerIdOffset": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseServerIdOffset((long) value); return true;
            case "databaseSslKeystore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystore((java.lang.String) value); return true;
            case "databaseSslKeystorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslKeystorePassword((java.lang.String) value); return true;
            case "databaseSslMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslMode((java.lang.String) value); return true;
            case "databaseSslTruststore": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststore((java.lang.String) value); return true;
            case "databaseSslTruststorePassword": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseSslTruststorePassword((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "enableTimeAdjuster": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEnableTimeAdjuster((boolean) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMySqlComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventDeserializationFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventDeserializationFailureHandlingMode((java.lang.String) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "gtidSourceExcludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceExcludes((java.lang.String) value); return true;
            case "gtidSourceFilterDmlEvents": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceFilterDmlEvents((boolean) value); return true;
            case "gtidSourceIncludes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGtidSourceIncludes((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMySqlComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeQuery": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeQuery((boolean) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "inconsistentSchemaHandlingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setInconsistentSchemaHandlingMode((java.lang.String) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "minRowCountToStreamResults": getOrCreateConfiguration((DebeziumMySqlComponent) component).setMinRowCountToStreamResults((int) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMySqlComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMySqlComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMySqlComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMySqlComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMySqlComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMySqlComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "useNongracefulDisconnect": getOrCreateConfiguration((DebeziumMySqlComponent) component).setUseNongracefulDisconnect((boolean) value); return true;
            default: return false;
            }
        }
Pair #915 Negative (Non-Clone)
ID: 1305_1139
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusBecomingLeader()
    private void refreshStatusBecomingLeader() {
         
         
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be effective in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
        this.currentState = State.LEADER;
        this.serializedExecutor.execute(this::refreshStatus);
    }
ID: 2049_1666
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #916 Negative (Non-Clone)
ID: 897_753
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
Name: org.apache.camel.component.aws2.ddbstream.Ddb2StreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = 0;

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
             
             
            Exchange exchange = (Exchange) exchanges.poll();
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
            answer++;
        }

        return answer;
    }
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #917 Negative (Non-Clone)
ID: 1042_905
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 685_623
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #918 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
Pair #919 Negative (Non-Clone)
ID: 1125_959
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceVerificationConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceCompareBase64Req base64ReqBody
                        = new FaceCompareBase64Req().withImage1Base64(clientConfigurations.getImageBase64())
                                .withImage2Base64(clientConfigurations.getAnotherImageBase64());
                result = this.frsClient.compareFaceByBase64(new CompareFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceCompareUrlReq urlReqBody = new FaceCompareUrlReq().withImage1Url(clientConfigurations.getImageUrl())
                        .withImage2Url(clientConfigurations.getAnotherImageUrl());
                result = this.frsClient.compareFaceByUrl(new CompareFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream image1InputStream = new FileInputStream(clientConfigurations.getImageFilePath());
                     FileInputStream image2InputStream = new FileInputStream(clientConfigurations.getAnotherImageFilePath())) {
                    CompareFaceByFileRequestBody fileReqBody = new CompareFaceByFileRequestBody()
                            .withImage1File(image1InputStream, getFileName(clientConfigurations.getImageFilePath()))
                            .withImage2File(image2InputStream, getFileName(clientConfigurations.getAnotherImageFilePath()));
                    result = this.frsClient.compareFaceByFile(new CompareFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file paths are invalid: %s, %s", clientConfigurations.getImageFilePath(),
                                    clientConfigurations.getAnotherImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1838_1497
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureMacs(String names, AbstractFactoryManager factoryManager)
    public static void configureMacs(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinMacs> builtIn = BuiltinMacs.VALUES;
        Set<MacFactory> registered = BuiltinMacs.getRegisteredExtensions();
        Set<MacFactory> allMacFactories = new HashSet<>();
        allMacFactories.addAll(builtIn);
        allMacFactories.addAll(registered);
        List<NamedFactory<Mac>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allMacFactories);
        factoryManager.setMacFactories(filter(Mac.class, avail, names.split(",")));
    }
Pair #920 Negative (Non-Clone)
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 1405_1256
ClassID: 1405
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSmTemplate(Exchange exchange)
    protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
        Message in = exchange.getIn();
        SubmitSm submitSm = new SubmitSm();

        if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, Byte.class));
        } else if (in.getHeaders().containsKey(SmppConstants.ALPHABET)) {
            submitSm.setDataCoding(in.getHeader(SmppConstants.ALPHABET, Byte.class));
        } else {
            submitSm.setDataCoding(config.getDataCoding());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            submitSm.setDestAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            submitSm.setDestAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            submitSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            submitSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            submitSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            submitSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            submitSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            submitSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            submitSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            submitSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            submitSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            submitSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            submitSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            submitSm.setServiceType(config.getServiceType());
        }

        if (in.getHeaders().containsKey(SmppConstants.PROTOCOL_ID)) {
            submitSm.setProtocolId(in.getHeader(SmppConstants.PROTOCOL_ID, Byte.class));
        } else {
            submitSm.setProtocolId(config.getProtocolId());
        }

        if (in.getHeaders().containsKey(SmppConstants.PRIORITY_FLAG)) {
            submitSm.setPriorityFlag(in.getHeader(SmppConstants.PRIORITY_FLAG, Byte.class));
        } else {
            submitSm.setPriorityFlag(config.getPriorityFlag());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            submitSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                submitSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                submitSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        if (in.getHeaders().containsKey(SmppConstants.REPLACE_IF_PRESENT_FLAG)) {
            submitSm.setReplaceIfPresent(in.getHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, Byte.class));
        } else {
            submitSm.setReplaceIfPresent(config.getReplaceIfPresentFlag());
        }

        submitSm.setEsmClass(new ESMClass().value());

        Map<java.lang.Short, Object> optinalParamater = in.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
        if (optinalParamater != null) {
            List<OptionalParameter> optParams = createOptionalParametersByCode(optinalParamater);
            submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
        } else {
            Map<String, String> optinalParamaters = in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
            if (optinalParamaters != null) {
                List<OptionalParameter> optParams = createOptionalParametersByName(optinalParamaters);
                submitSm.setOptionalParameters(optParams.toArray(new OptionalParameter[0]));
            } else {
                submitSm.setOptionalParameters();
            }
        }

        return submitSm;
    }
Pair #921 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
Pair #922 Negative (Non-Clone)
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
Pair #923 Negative (Non-Clone)
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #924 Negative (Non-Clone)
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
ID: 3098_2362
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.disabled(String disabled)
    public RestDefinition disabled(String disabled) {
        if (getVerbs().isEmpty()) {
            this.disabled = disabled;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setDisabled(disabled);
        }

        return this;
    }
Pair #925 Negative (Non-Clone)
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 483_509
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
Pair #926 Negative (Non-Clone)
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #927 Negative (Non-Clone)
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
Pair #928 Negative (Non-Clone)
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
ID: 971_812
ClassID: 971
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
Name: org.apache.camel.component.sql.SqlEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        SqlPrepareStatementStrategy prepareStrategy = getPrepareStatementStrategy() != null
                ? getPrepareStatementStrategy() : new DefaultSqlPrepareStatementStrategy(getSeparator());
        SqlProcessingStrategy proStrategy
                = getProcessingStrategy() != null ? getProcessingStrategy() : new DefaultSqlProcessingStrategy(prepareStrategy);
        SqlConsumer consumer = new SqlConsumer(this, processor, getJdbcTemplate(), query, prepareStrategy, proStrategy);
        consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll());
        consumer.setOnConsume(getOnConsume());
        consumer.setOnConsumeFailed(getOnConsumeFailed());
        consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
        consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
        consumer.setExpectedUpdateCount(getExpectedUpdateCount());
        consumer.setUseIterator(isUseIterator());
        consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
        consumer.setParametersCount(getParametersCount());
        consumer.setAlwaysPopulateStatement(isAlwaysPopulateStatement());
        configureConsumer(consumer);
        return consumer;
    }
Pair #929 Negative (Non-Clone)
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 1861_1527
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #930 Negative (Non-Clone)
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
ID: 3164_2418
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #931 Negative (Non-Clone)
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 3102_2378
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return "to[" + uri + "]";
    }
Pair #932 Negative (Non-Clone)
ID: 2561_2135
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/PrepareFatJarMojo.java
Name: org.apache.camel.maven.PrepareFatJarMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }
                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #933 Negative (Non-Clone)
ID: 174_135
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback)
    public void getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback) {
        final Request request = getRequest(HttpMethod.GET, reportsUrl(), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
        });
    }
ID: 1257_1107
ClassID: 1257
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/TransactionErrorHandler.java
Name: org.apache.camel.jta.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            exchange.getUnitOfWork().beginTransactedBy(transactionKey);
             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);
        } catch (TransactionRolledbackException e) {
             
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Throwable e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            exchange.getUnitOfWork().endTransactedBy(transactionKey);
        }

         
         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast and caught: ",
                            transactionKey, redelivered, ids, cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
             
            exchange.setException(null);
        }
    }
Pair #934 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #935 Negative (Non-Clone)
ID: 3103_2383
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.ignoreInvalidExchanges()
    public ResequenceDefinition ignoreInvalidExchanges() {
        if (streamConfig != null) {
            streamConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        } else {
             
            if (batchConfig == null) {
                batch();
            }
            batchConfig.setIgnoreInvalidExchanges(Boolean.toString(true));
        }
        return this;
    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #936 Negative (Non-Clone)
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #937 Negative (Non-Clone)
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #938 Negative (Non-Clone)
ID: 1215_1039
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
Pair #939 Negative (Non-Clone)
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #940 Negative (Non-Clone)
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #941 Negative (Non-Clone)
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #942 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 1780_1462
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpSocketConsumerRunnable.TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer, Hl7Util hl7Util, boolean logPhi)
    public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
                                     Hl7Util hl7Util, boolean logPhi) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;
        this.hl7Util = hl7Util;
        this.logPhi = logPhi;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
Pair #943 Negative (Non-Clone)
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #944 Negative (Non-Clone)
ID: 2244_1766
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
Pair #945 Negative (Non-Clone)
ID: 3099_2370
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableNoContentResponse(boolean enableNoContentResponse)
    public RestDefinition enableNoContentResponse(boolean enableNoContentResponse) {
        if (getVerbs().isEmpty()) {
            this.enableNoContentResponse = Boolean.toString(enableNoContentResponse);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableNoContentResponse(Boolean.toString(enableNoContentResponse));
        }

        return this;
    }
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
Pair #946 Negative (Non-Clone)
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
ID: 2472_2011
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInflight.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInflight.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("inflight");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.fromRouteId = jo.getString("fromRouteId");
                                    Boolean bool = jo.getBoolean("fromRemoteEndpoint");
                                    if (bool != null) {
                                         
                                        remoteVisible.set(true);
                                        row.fromRemoteEndpoint = bool;
                                    }
                                    row.atRouteId = jo.getString("atRouteId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.elapsed = jo.getLong("elapsed");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("REMOTE").visible(remoteVisible.get()).dataAlign(HorizontalAlign.CENTER)
                            .with(this::getRemote),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.atRouteId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.RIGHT).with(this::getElapsed),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
Pair #947 Negative (Non-Clone)
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #948 Negative (Non-Clone)
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
Pair #949 Negative (Non-Clone)
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
Pair #950 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 1204_1031
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetHistory(Exchange exchange, AsyncCallback callback)
    private void doGetHistory(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .history()
                .channel(getChannel(exchange))
                .async((Result<PNHistoryResult> result) -> {
                    LOG.debug("Got history message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHistoryResult r = result.getOrNull();
                        processMessage(exchange, callback, r != null ? r.getMessages() : null);
                    }
                });
    }
Pair #951 Negative (Non-Clone)
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 233_284
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareFileClient fileClient)
    private boolean existsRemote(ShareFileClient fileClient) {
        try {
            return Boolean.TRUE
                    .equals(fileClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
Pair #952 Negative (Non-Clone)
ID: 1038_896
ClassID: 1038
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
Pair #953 Negative (Non-Clone)
ID: 998_850
ClassID: 998
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo4Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo4Configuration endpointConfiguration = createEndpointConfiguration(Olingo4ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo4ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #954 Negative (Non-Clone)
ID: 172_131
ClassID: 172
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/ZeebeProducer.java
Name: org.apache.camel.component.zeebe.ZeebeProducer.isJobOperation(OperationName operationName)
    private static boolean isJobOperation(OperationName operationName) {
        switch (operationName) {
            case COMPLETE_JOB:
            case FAIL_JOB:
            case UPDATE_JOB_RETRIES:
            case THROW_ERROR:
                return true;
            default:
                return false;
        }
    }
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #955 Negative (Non-Clone)
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #956 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
Pair #957 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #958 Negative (Non-Clone)
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #959 Negative (Non-Clone)
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #960 Negative (Non-Clone)
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #961 Negative (Non-Clone)
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #962 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #963 Negative (Non-Clone)
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
Pair #964 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #965 Negative (Non-Clone)
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 3230_2538
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsoluteExpression()
    public static Expression fileAbsoluteExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolute", Boolean.class);
            }

            @Override
            public String toString() {
                return "file:absolute";
            }
        };
    }
Pair #966 Negative (Non-Clone)
ID: 715_655
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
Pair #967 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #968 Negative (Non-Clone)
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #969 Negative (Non-Clone)
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #970 Negative (Non-Clone)
ID: 1272_1111
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performSubscribe(final Message message, AsyncCallback callback)
    public void performSubscribe(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, false);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, false);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #971 Negative (Non-Clone)
ID: 1991_1631
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createInitiator(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Initiator createInitiator(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Initiator initiator;
        if (threadModel == ThreadModel.ThreadPerSession) {
            initiator = new ThreadedSocketInitiator(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            initiator = new SocketInitiator(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return initiator;
    }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #972 Negative (Non-Clone)
ID: 2363_1860
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode eventType = node.get("event_type");

        if (eventType != null && "text-generation".equals(eventType.asText())) {
            JsonNode text = node.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
ID: 467_499
ClassID: 467
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
Name: org.apache.camel.component.olingo4.internal.Olingo4ApiCollection.Olingo4ApiCollection()
    private Olingo4ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo4ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo4ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler", "data");
        apiHelpers.put(Olingo4ApiName.DEFAULT, new ApiMethodHelper<>(Olingo4AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo4AppApiMethod.class, Olingo4ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #973 Negative (Non-Clone)
ID: 1332_1237
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestAggregationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestAggregationStreamObserver.onCompleted()
    public void onCompleted() {
        CountDownLatch latch = new CountDownLatch(1);

        exchange.getIn().setBody(requestList);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> {
            latch.countDown();
        });

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
            responseObserver.onCompleted();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);
        }
    }
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
Pair #974 Negative (Non-Clone)
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
Pair #975 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
Pair #976 Negative (Non-Clone)
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #977 Negative (Non-Clone)
ID: 11_6
ClassID: 11
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/DefaultXmlSignature2Message.java
Name: org.apache.camel.component.xmlsecurity.api.DefaultXmlSignature2Message.omitXmlDeclaration(Message message, Input input)
    protected Boolean omitXmlDeclaration(Message message, Input input) {
        Boolean omitXmlDeclaration = message.getHeader(XmlSignatureConstants.HEADER_OMIT_XML_DECLARATION, Boolean.class);
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = input.omitXmlDeclaration();
        }
        if (omitXmlDeclaration == null) {
            omitXmlDeclaration = Boolean.FALSE;
        }
        return omitXmlDeclaration;
    }
ID: 103_82
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies()
                        .create((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create policy requires POJO request with PolicyRepresentation");
        }
    }
Pair #978 Negative (Non-Clone)
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #979 Negative (Non-Clone)
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #980 Negative (Non-Clone)
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
Pair #981 Negative (Non-Clone)
ID: 171_127
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkV2Operation(OperationName operationName)
    private boolean isBulkV2Operation(OperationName operationName) {
        switch (operationName) {
            case BULK2_CREATE_JOB:
            case BULK2_CREATE_BATCH:
            case BULK2_CLOSE_JOB:
            case BULK2_GET_JOB:
            case BULK2_ABORT_JOB:
            case BULK2_DELETE_JOB:
            case BULK2_GET_SUCCESSFUL_RESULTS:
            case BULK2_GET_FAILED_RESULTS:
            case BULK2_GET_UNPROCESSED_RECORDS:
            case BULK2_GET_ALL_JOBS:
            case BULK2_CREATE_QUERY_JOB:
            case BULK2_GET_QUERY_JOB:
            case BULK2_GET_QUERY_JOB_RESULTS:
            case BULK2_ABORT_QUERY_JOB:
            case BULK2_DELETE_QUERY_JOB:
            case BULK2_GET_ALL_QUERY_JOBS:
                return true;
            default:
                return false;
        }
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #982 Negative (Non-Clone)
ID: 1245_1073
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Record recordObj = exchange.getIn().getMandatoryBody(Record.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing record {}", recordObj);
            }
            writeApi.writeRecord(bucketName, orgName, writePrecision, recordObj.getInfluxRecord());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
Pair #983 Negative (Non-Clone)
ID: 1282_1132
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findDocumentByKey()
    private Function<Exchange, Object> findDocumentByKey() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;

                return collection.getDocument(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
Pair #984 Negative (Non-Clone)
ID: 1888_1558
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #985 Negative (Non-Clone)
ID: 242_310
ClassID: 242
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("region", propertiesFunction.getRegion());
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                root.put("login", "DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                root.put("login", "ProfileCredentialsProvider");
            } else {
                root.put("login", "Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                root.put("refreshEnabled", aws.isRefreshEnabled());
                root.put("refreshPeriod", aws.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
Pair #986 Negative (Non-Clone)
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 444_470
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
             
            DatagramPacket dp = new DatagramPacket(payload.retain(), msg.recipient());
            out.add(dp);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #987 Negative (Non-Clone)
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #988 Negative (Non-Clone)
ID: 3112_2400
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.replace()
    public ProcessorDefinition<?> replace() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #989 Negative (Non-Clone)
ID: 248_321
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubConsumerAsyncClient createEventHubConsumerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .consumerGroup(configuration.getConsumerGroupName())
                .prefetchCount(configuration.getPrefetchCount())
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncConsumerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncConsumerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncConsumerClient();
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #990 Negative (Non-Clone)
ID: 3231_2546
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.messageOgnlExpression(final String name, final String ognl)
    public static Expression messageOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object msg = exchange.getMessage(type);
                if (msg != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, msg, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "messageOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #991 Negative (Non-Clone)
ID: 1039_898
ClassID: 1039
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");
        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("netty-http", config);

         
        boolean cors = config.isEnableCORS();

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("netty-http", scheme, host, port, path, map);

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

        return consumer;
    }
ID: 1619_1393
ClassID: 1619
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
Pair #992 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 3231_2545
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyExpression(final String name)
    public static Expression mandatoryBodyExpression(final String name) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                try {
                    return exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "]";
            }
        };
    }
Pair #993 Negative (Non-Clone)
ID: 899_767
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java
Name: org.apache.camel.component.google.mail.GoogleMailProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #994 Negative (Non-Clone)
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
Pair #995 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #996 Negative (Non-Clone)
ID: 1885_1553
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.setupVmProtocol(MinaConfiguration configuration)
    protected void setupVmProtocol(MinaConfiguration configuration) {

        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        acceptor = new VmPipeAcceptor();

         
        configureCodecFactory("MinaConsumer", acceptor, configuration);
        if (minaLogger) {
            acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, acceptor.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
    }
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #997 Negative (Non-Clone)
ID: 1691_1416
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper(camelContext) {

                    @Override
                    public CamelContext getCamelContext() {
                        CamelContext answer = CamelBeanPostProcessor.this.camelContext;
                        if (answer == null) {
                             
                             
                             
                             
                            answer = delegate.getOrLookupCamelContext();
                        }
                        return answer;
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #998 Negative (Non-Clone)
ID: 2575_2162
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DataTypeTransformerModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DATA_TYPE_ANNOTATION);
        annotations.forEach(a -> {
            DataTypeTransformerModel model = new DataTypeTransformerModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setName(annotationValue(a, "name"));
            model.setFrom(annotationValue(a, "from"));
            model.setTo(annotationValue(a, "to"));
            model.setDescription(annotationValue(a, "description"));
            models.add(model);
        });
        models.sort(Comparator.comparing(DataTypeTransformerModel::getName));

        if (!models.isEmpty()) {
            try {
                StringJoiner names = new StringJoiner(" ");
                for (var model : models) {
                    names.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/services/org/apache/camel/transformer/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated transformer json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "transformers", names.toString());
                updateResource(camelMetaDir.toPath(), "transformer.properties", properties);
                getLog().info("Generated transformer.properties containing " + count + " Camel "
                              + (count > 1 ? "transformers: " : "transformer: ") + names);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
Pair #999 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1984_1627
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PromptInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PromptInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionCategory> detectedCategories = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (pattern.getPattern().matcher(text).find()) {
                if (!detectedCategories.contains(pattern.getCategory())) {
                    detectedCategories.add(pattern.getCategory());
                }

                 
                if (strict) {
                    return failure(
                            String.format("Potential prompt injection detected: %s pattern. " +
                                          "Please rephrase your request.",
                                    pattern.getCategory()));
                }
            }
        }

         
        if (detectedCategories.size() >= 2) {
            return failure(
                    String.format("Potential prompt injection detected: multiple suspicious patterns (%s). " +
                                  "Please rephrase your request.",
                            detectedCategories));
        }

        return success();
    }
Pair #1000 Negative (Non-Clone)
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #1001 Negative (Non-Clone)
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
Pair #1002 Negative (Non-Clone)
ID: 977_826
ClassID: 977
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/serializer/AbstractLevelDBSerializer.java
Name: org.apache.camel.component.leveldb.serializer.AbstractLevelDBSerializer.createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders)
    DefaultExchangeHolder createExchangeHolder(Exchange exchange, boolean allowSerializedHeaders) {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        return pe;
    }
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
Pair #1003 Negative (Non-Clone)
ID: 285_354
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toLong(JsonNode node, Exchange exchange)
    public Long toLong(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToLong()) {
                return nn.asLong();
            }
        }
        String text = node.asText();
        return Long.valueOf(text);
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #1004 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #1005 Negative (Non-Clone)
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1006 Negative (Non-Clone)
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
ID: 3108_2392
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplatesDefinition.java
Name: org.apache.camel.model.RouteTemplatesDefinition.createRouteTemplate()
    protected RouteTemplateDefinition createRouteTemplate() {
        RouteTemplateDefinition template = new RouteTemplateDefinition();
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            template.getRoute().setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            template.setResource(resource);
        }
        return template;
    }
Pair #1007 Negative (Non-Clone)
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
ID: 3100_2374
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ParamDefinition.java
Name: org.apache.camel.model.rest.ParamDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
Pair #1008 Negative (Non-Clone)
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #1009 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1010 Negative (Non-Clone)
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #1011 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1012 Negative (Non-Clone)
ID: 2636_2269
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
Name: org.apache.camel.impl.engine.DefaultDevConsoleResolver.resolveDevConsole(String id)
    public DevConsole resolveDevConsole(String id) {
         
        DevConsole answer = camelContext.getRegistry().lookupByNameAndType(id + "-dev-console", DevConsole.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, DevConsole.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findDevConsole(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no DevConsole registered for id: " + id, e);
        }

        if (type != null) {
            if (DevConsole.class.isAssignableFrom(type)) {
                answer = (DevConsole) camelContext.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
            } else {
                throw new IllegalArgumentException(
                        "Resolving dev-console: " + id + " detected type conflict: Not a DevConsole implementation. Found: "
                                                   + type.getName());
            }
        }

        return answer;
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #1013 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1014 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
Pair #1015 Negative (Non-Clone)
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
ID: 1309_1172
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.eventReceived(Action action, ReplicationController resource)
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1016 Negative (Non-Clone)
ID: 3267_2632
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Class<? extends Annotation> annotation, String... packageNames)
    public Set<Class<?>> findAnnotated(Class<? extends Annotation> annotation, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotation.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithPackageScanFilter(annotation, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 682_616
ClassID: 682
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route),
                                "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route),
                                "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route),
                                "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                longTaskTimer = new OpenTelemetryLongTaskTimer(
                        route, meter, attributes, configuration, namingStrategy, longTaskTimeUnit);
            }
        }
Pair #1017 Negative (Non-Clone)
ID: 1411_1264
ClassID: 1411
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
Name: org.apache.camel.component.cometd.CometdComponent.doStop()
    protected void doStop() throws Exception {
        connectorsLock.lock();
        try {
            for (ConnectorRef connectorRef : connectors.values()) {
                connectorRef.connector.stop();
            }
            connectors.clear();
        } finally {
            connectorsLock.unlock();
        }

        super.doStop();
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #1018 Negative (Non-Clone)
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
ID: 467_499
ClassID: 467
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
Name: org.apache.camel.component.olingo4.internal.Olingo4ApiCollection.Olingo4ApiCollection()
    private Olingo4ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(Olingo4ApiName.class);
        final Map<Class<? extends ApiMethod>, Olingo4ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler", "data");
        apiHelpers.put(Olingo4ApiName.DEFAULT, new ApiMethodHelper<>(Olingo4AppApiMethod.class, aliases, nullableArgs));
        apiMethods.put(Olingo4AppApiMethod.class, Olingo4ApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1019 Negative (Non-Clone)
ID: 1541_1361
ClassID: 1541
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpComponent.java
Name: org.apache.camel.component.vertx.http.VertxHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters, String consumes,
            String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {
         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String scheme = "vertx-http:";
        String url = scheme + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, scheme);
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals(scheme)) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        VertxHttpEndpoint endpoint = (VertxHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;
        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.getConfiguration().setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.getConfiguration().setHeaderFilterStrategy(new VertxHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #1020 Negative (Non-Clone)
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #1021 Negative (Non-Clone)
ID: 126_117
ClassID: 126
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
ID: 716_657
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            final Span processorSpan = tracer.getTracer().spanBuilder(getOperationName(processorDefinition))
                    .setParent(Context.current().with(span))
                    .setAttribute("component", getComponentName(processorDefinition))
                    .startSpan();

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(processorSpan));
            }

            try (Scope ignored = processorSpan.makeCurrent()) {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
                processorSpan.end();
            }
        }
Pair #1022 Negative (Non-Clone)
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
Pair #1023 Negative (Non-Clone)
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #1024 Negative (Non-Clone)
ID: 923_797
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubLiteEndpoint endpoint = (GooglePubsubLiteEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/locations/%s/topics/%s", endpoint.getProjectId(), endpoint.getLocation(),
                endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getMessage().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);
        Map<String, String> attributes = exchange.getMessage().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
        String orderingKey = exchange.getMessage().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getMessage().setHeader(GooglePubsubLiteConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 3254_2606
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.complete(Exchange exchange)
    public CompletableFuture<Void> complete(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPLETING);

        if (doAction) {
            doComplete(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPLETING && status != Status.COMPLETED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot complete: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
Pair #1025 Negative (Non-Clone)
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #1026 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #1027 Negative (Non-Clone)
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1028 Negative (Non-Clone)
ID: 376_410
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, String replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            String replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #1029 Negative (Non-Clone)
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
ID: 897_750
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #1030 Negative (Non-Clone)
ID: 3109_2394
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteConfigurationsDefinition.java
Name: org.apache.camel.model.RouteConfigurationsDefinition.createRouteConfiguration(String id)
    protected RouteConfigurationDefinition createRouteConfiguration(String id) {
        RouteConfigurationDefinition config = new RouteConfigurationDefinition();
        if (id != null) {
            config.setId(id);
        }
        if (resource != null) {
            config.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(config, camelContext);
        return config;
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #1031 Negative (Non-Clone)
ID: 2048_1665
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotent(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotent(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRepositoryReadLockStrategy readLockStrategy = new FileIdempotentRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #1032 Negative (Non-Clone)
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
Pair #1033 Negative (Non-Clone)
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #1034 Negative (Non-Clone)
ID: 2644_2295
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findOptionalClass(String key)
    public Optional<Class<?>> findOptionalClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, false).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
Pair #1035 Negative (Non-Clone)
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
Pair #1036 Negative (Non-Clone)
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #1037 Negative (Non-Clone)
ID: 2663_2344
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.calculateAndSetMaxRequestsPerPeriod(final Exchange exchange)
        public void calculateAndSetMaxRequestsPerPeriod(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle
                        = TotalRequestsThrottler.this.getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumRequestsPerPeriod must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxRequestsPerPeriodExpression was evaluated as null: "
                                                       + TotalRequestsThrottler.this.getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            while (delta > 0) {
                                delayQueue.take();
                                delta--;
                                if (LOG.isTraceEnabled()) {
                                    LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}",
                                            exchange.getExchangeId());
                                }
                            }
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            for (int i = 0; i < delta; i++) {
                                delayQueue.put(new ThrottlePermit(-1));
                            }
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
Pair #1038 Negative (Non-Clone)
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #1039 Negative (Non-Clone)
ID: 219_243
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosContainerResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosContainerResponse> setCosmosContainerResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
                setMessageHeader(exchange, CosmosDbConstants.DEFAULT_TIME_TO_LIVE_SECONDS,
                        response.getProperties().getDefaultTimeToLiveInSeconds());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 112_104
ClassID: 112
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
Name: org.apache.camel.component.servlet.ServletComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "servlet");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #1040 Negative (Non-Clone)
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
Pair #1041 Negative (Non-Clone)
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #1042 Negative (Non-Clone)
ID: 3244_2576
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertVariableReifier.java
Name: org.apache.camel.reifier.ConvertVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertVariableProcessor answer
                = new ConvertVariableProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1043 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
Pair #1044 Negative (Non-Clone)
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
Pair #1045 Negative (Non-Clone)
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
Pair #1046 Negative (Non-Clone)
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1047 Negative (Non-Clone)
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1048 Negative (Non-Clone)
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1049 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1050 Negative (Non-Clone)
ID: 187_184
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case GET_BATCH:
                    processGetBatch(exchange, callback);
                    break;
                case GET_ALL_BATCHES:
                    processGetAllBatches(exchange, callback);
                    break;
                case GET_REQUEST:
                    processGetRequest(exchange, callback);
                    break;
                case GET_RESULTS:
                    processGetResults(exchange, callback);
                    break;
                case CREATE_BATCH_QUERY:
                    processCreateBatchQuery(exchange, callback);
                    break;
                case GET_QUERY_RESULT_IDS:
                    processGetQueryResultIds(exchange, callback);
                    break;
                case GET_QUERY_RESULT:
                    processGetQueryResult(exchange, callback);
                    break;
                default:
                    throw new SalesforceException("Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(), e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(), e.getMessage()), e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #1051 Negative (Non-Clone)
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
ID: 978_828
ClassID: 978
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe = decode(camelContext, inputStream, deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
Pair #1052 Negative (Non-Clone)
ID: 2458_1958
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyGradleWrapper()
    protected void copyGradleWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, "gradle/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path gradlewPath = Paths.get(BUILD_DIR, "gradlew");
        Path gradlewBatPath = Paths.get(BUILD_DIR, "gradlew.bat");
        Path wrapperJarPath = wrapperPath.resolve("gradle-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("gradle-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew")) {
            Files.copy(is, gradlewPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew.bat")) {
            Files.copy(is, gradlewBatPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(gradlewPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(gradlewBatPath, "rwxr-xr-x");
    }
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
Pair #1053 Negative (Non-Clone)
ID: 2048_1664
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentChangedRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentChangedRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
Pair #1054 Negative (Non-Clone)
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
ID: 2658_2328
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
Name: org.apache.camel.processor.SetPropertyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newProperty = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = propertyName.evaluate(exchange, String.class);
            exchange.setProperty(key, newProperty);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1055 Negative (Non-Clone)
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #1056 Negative (Non-Clone)
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
Pair #1057 Negative (Non-Clone)
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1058 Negative (Non-Clone)
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #1059 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #1060 Negative (Non-Clone)
ID: 2465_1975
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
         
        line = unescapeAnsi(line);
        String after = StringHelper.after(line, "---", line);
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(after).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #1061 Negative (Non-Clone)
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #1062 Negative (Non-Clone)
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
Pair #1063 Negative (Non-Clone)
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #1064 Negative (Non-Clone)
ID: 1130_967
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.receive(String requestUriPattern, HttpRequestHandler handler)
    public void receive(String requestUriPattern, HttpRequestHandler handler) {
        if (listenerThread != null) {
            lock.lock();
            try {
                listenerThread.registerHandler(requestUriPattern, handler);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #1065 Negative (Non-Clone)
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
Pair #1066 Negative (Non-Clone)
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #1067 Negative (Non-Clone)
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 3290_2690
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
Name: org.apache.camel.support.jsse.KeyManagersParameters.createKeyManagers()
    public KeyManager[] createKeyManagers() throws GeneralSecurityException, IOException {
        LOG.trace("Creating KeyManager[] from KeyManagersParameters [{}].", this);
        KeyManager[] keyManagers;

        String kmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (this.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, this.parsePropertyValue(this.getProvider()));
        }

        LOG.debug("KeyManagerFactory [{}], initialized from [{}], is using provider [{}] and algorithm [{}].",
                kmf, this, kmf.getProvider(), kmf.getAlgorithm());

        char[] kmfPassword = null;
        if (this.getKeyPassword() != null) {
            kmfPassword = this.parsePropertyValue(this.getKeyPassword()).toCharArray();
        }

        KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        keyManagers = kmf.getKeyManagers();

        LOG.debug("KeyManager[] [{}], initialized from KeyManagerFactory [{}].", keyManagers, kmf);

        return keyManagers;
    }
Pair #1068 Negative (Non-Clone)
ID: 980_835
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/ParseException.java
Name: org.apache.camel.component.sql.stored.template.generated.ParseException.add_escapes(String str)
  static String add_escapes(String str) {
      StringBuilder retval = new StringBuilder();
      char ch;
      for (int i = 0; i < str.length(); i++) {
        switch (str.charAt(i))
        {
           case '\b':
              retval.append("\\b");
              continue;
           case '\t':
              retval.append("\\t");
              continue;
           case '\n':
              retval.append("\\n");
              continue;
           case '\f':
              retval.append("\\f");
              continue;
           case '\r':
              retval.append("\\r");
              continue;
           case '\"':
              retval.append("\\\"");
              continue;
           case '\'':
              retval.append("\\\'");
              continue;
           case '\\':
              retval.append("\\\\");
              continue;
           default:
              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                 String s = "0000" + Integer.toString(ch, 16);
                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
              } else {
                 retval.append(ch);
              }
              continue;
        }
      }
      return retval.toString();
   }
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
Pair #1069 Negative (Non-Clone)
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #1070 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #1071 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #1072 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 464_494
ClassID: 464
File: systems/camel-java/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
Name: org.apache.camel.component.dhis2.internal.Dhis2ApiCollection.getEndpointConfiguration(Dhis2ApiName apiName)
    public Dhis2Configuration getEndpointConfiguration(Dhis2ApiName apiName) {
        Dhis2Configuration result = null;
        switch (apiName) {
            case POST:
                result = new Dhis2PostEndpointConfiguration();
                break;
            case RESOURCE_TABLES:
                result = new Dhis2ResourceTablesEndpointConfiguration();
                break;
            case GET:
                result = new Dhis2GetEndpointConfiguration();
                break;
            case DELETE:
                result = new Dhis2DeleteEndpointConfiguration();
                break;
            case PUT:
                result = new Dhis2PutEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1073 Negative (Non-Clone)
ID: 1116_952
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getSecretKey(ImageRecognitionEndpoint endpoint)
    private String getSecretKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getSecretKey())) {
            return endpoint.getSecretKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getSecretKey())) {
            return endpoint.getServiceKeys().getSecretKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'secret key (SK)' not found");
        }
    }
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
Pair #1074 Negative (Non-Clone)
ID: 3178_2455
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.read(byte[] b, int off, int len)
    public int read(byte[] b, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, b, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }

        return tlen > 0 ? tlen : -1;
    }
ID: 2658_2331
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int headerIndex = 0;
            for (Expression expression : expressions) {
                Object newHeader = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                Message message = exchange.getMessage();
                String key = headerNames.get(headerIndex++).evaluate(exchange, String.class);
                message.setHeader(key, newHeader);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1075 Negative (Non-Clone)
ID: 486_516
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
Name: org.apache.camel.component.cxf.converter.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 2246_1770
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeClientListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                if (this.version != null) {
                    cache.removeWithVersion(InfinispanClusterService.LEADER_KEY, this.version);
                }

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }

            this.version = null;
        }
Pair #1076 Negative (Non-Clone)
ID: 2642_2291
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultAsyncProcessor()
    private Processor defaultAsyncProcessor() {
        final Map<String, Object> headersCopy = ObjectHelper.isNotEmpty(this.headers) ? new HashMap<>(this.headers) : null;
        final Map<String, Object> propertiesCopy
                = ObjectHelper.isNotEmpty(this.exchangeProperties) ? new HashMap<>(this.exchangeProperties) : null;
        final Map<String, Object> variablesCopy
                = ObjectHelper.isNotEmpty(this.variables) ? new HashMap<>(this.variables) : null;
        final Object bodyCopy = this.body;
        return exchange -> {
            if (headersCopy != null) {
                exchange.getIn().getHeaders().putAll(headersCopy);
            }
            if (propertiesCopy != null) {
                exchange.getProperties().putAll(propertiesCopy);
            }
            if (bodyCopy != null) {
                exchange.getIn().setBody(bodyCopy);
            }
            if (variablesCopy != null) {
                variablesCopy.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 3298_2711
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
Name: org.apache.camel.catalog.EndpointValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (incapable != null) {
                return "\tIncapable of parsing uri: " + incapable;
            } else if (syntaxError != null) {
                return "\tSyntax error: " + syntaxError;
            } else if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (notConsumerOnly != null) {
            for (String name : notConsumerOnly) {
                options.put(name, "Option not applicable in consumer only mode");
            }
        }
        if (notProducerOnly != null) {
            for (String name : notProducerOnly) {
                options.put(name, "Option not applicable in producer only mode");
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder(512);
        if (includeHeader) {
            sb.append("Endpoint validator error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (uri != null) {
            sb.append("\t").append(uri).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, option.getKey(), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
Pair #1077 Negative (Non-Clone)
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
Pair #1078 Negative (Non-Clone)
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2569_2150
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getDoc(JavaClassSource source, String name)
    private String getDoc(JavaClassSource source, String name) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
Pair #1079 Negative (Non-Clone)
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #1080 Negative (Non-Clone)
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
Pair #1081 Negative (Non-Clone)
ID: 25_39
ClassID: 25
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
Pair #1082 Negative (Non-Clone)
ID: 933_808
ClassID: 933
File: systems/camel-java/components/camel-pdf/src/generated/java/org/apache/camel/component/pdf/converter/PdfConverterLoader.java
Name: org.apache.camel.component.pdf.converter.PdfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().convertToPDF((byte[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, java.io.File.class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().convertToPDF((java.io.File) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.pdfbox.pdmodel.PDDocument.class, java.io.InputStream.class, false,
            (type, exchange, value) -> {
                Object answer = getPdfConverter().toPDDocument((java.io.InputStream) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 201_229
ClassID: 201
File: systems/camel-java/components/camel-wasm/src/main/java/org/apache/camel/language/wasm/WasmExpression.java
Name: org.apache.camel.language.wasm.WasmExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
Pair #1083 Negative (Non-Clone)
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
Pair #1084 Negative (Non-Clone)
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1085 Negative (Non-Clone)
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1086 Negative (Non-Clone)
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
Pair #1087 Negative (Non-Clone)
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1088 Negative (Non-Clone)
ID: 1853_1506
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PublicKey importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPublicKey(keyData);
        } else {
            derBytes = keyData;
        }

        X509EncodedKeySpec spec = new X509EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePublic(spec);
    }
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
Pair #1089 Negative (Non-Clone)
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
Pair #1090 Negative (Non-Clone)
ID: 2541_2118
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findXmlFiles(File dir, Set<File> xmlFiles)
    public static void findXmlFiles(File dir, Set<File> xmlFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".xml")) {
                    xmlFiles.add(file);
                } else if (file.isDirectory()) {
                    findXmlFiles(file, xmlFiles);
                }
            }
        }
    }
ID: 702_648
ClassID: 702
File: systems/camel-java/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
Name: org.apache.camel.component.lumberjack.LumberjackEndpoint.provideSSLContext()
    private SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
Pair #1091 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1859_1521
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
Pair #1092 Negative (Non-Clone)
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #1093 Negative (Non-Clone)
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #1094 Negative (Non-Clone)
ID: 1249_1084
ClassID: 1249
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java
Name: org.apache.camel.support.LoggingExceptionHandler.isCausedByRollbackExchangeException(Throwable exception)
    protected boolean isCausedByRollbackExchangeException(Throwable exception) {
        if (exception == null) {
            return false;
        }
        if (exception instanceof RollbackExchangeException) {
            return true;
        } else if (exception.getCause() != null) {
             
            return isCausedByRollbackExchangeException(exception.getCause());
        }

        return false;
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #1095 Negative (Non-Clone)
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #1096 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #1097 Negative (Non-Clone)
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
Pair #1098 Negative (Non-Clone)
ID: 2326_1833
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java
Name: org.apache.camel.component.aws2.timestream.query.Timestream2QueryEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #1099 Negative (Non-Clone)
ID: 2472_2010
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVariable.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListVariable.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jv = (JsonObject) root.get("variables");
                        if (jv != null) {
                            for (String id : jv.keySet()) {
                                JsonArray arr = jv.getCollection(id);
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.id = id;
                                        row.key = jo.getString("key");
                                        row.type = jo.getString("type");
                                        row.value = jo.get("value");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("REPO").headerAlign(HorizontalAlign.CENTER).with(r -> r.id),
                    new Column().header("TYPE").headerAlign(HorizontalAlign.CENTER)
                            .maxWidth(40, OverflowBehaviour.ELLIPSIS_LEFT).with(r -> r.type),
                    new Column().header("KEY").dataAlign(HorizontalAlign.LEFT).maxWidth(50, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.key),
                    new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).maxWidth(80, OverflowBehaviour.NEWLINE)
                            .with(this::getValue))));
        }

        return 0;
    }
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
Pair #1100 Negative (Non-Clone)
ID: 1622_1398
ClassID: 1622
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.langchain4j.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #1101 Negative (Non-Clone)
ID: 1331_1234
ClassID: 1331
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java
Name: org.apache.camel.component.grpc.GrpcConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (this.isRunAllowed()) {
            this.getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
ID: 2507_2058
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlPropertyWithFormat(String name, String type, String format, boolean required, boolean deprecated)
    protected static AnnotationSpec yamlPropertyWithFormat(
            String name, String type, String format, boolean required, boolean deprecated) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        builder.addMember("format", "$S", format);

        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }

        return builder.build();
    }
Pair #1102 Negative (Non-Clone)
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
ID: 1313_1201
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doCreateOrUpdateHPA(Exchange exchange, String operationName, Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation)
    private void doCreateOrUpdateHPA(
            Exchange exchange, String operationName,
            Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation) {
        String hpaName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerSpec hpaSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_SPEC, HorizontalPodAutoscalerSpec.class);
        if (ObjectHelper.isEmpty(hpaName)) {
            LOG.error("{} a specific hpa require specify a hpa name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific hpa require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(hpaSpec)) {
            LOG.error("{} a specific hpa require specify a hpa spec bean", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa spec bean");
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscaler hpaCreating = new HorizontalPodAutoscalerBuilder().withNewMetadata().withName(hpaName)
                .withLabels(labels).endMetadata().withSpec(hpaSpec).build();
        HorizontalPodAutoscaler hpa
                = operation.apply(getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                        .inNamespace(namespaceName)
                        .resource(hpaCreating));

        prepareOutboundMessage(exchange, hpa);
    }
Pair #1103 Negative (Non-Clone)
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #1104 Negative (Non-Clone)
ID: 2656_2325
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/SupportsSagaProcessor.java
Name: org.apache.camel.processor.saga.SupportsSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                coordinator.beginStep(exchange, step)
                        .whenComplete((done, ex2) -> ifNotException(ex2, exchange, callback, () -> {
                             
                            super.process(exchange, doneSync -> callback.done(false));
                        }));
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
Pair #1105 Negative (Non-Clone)
ID: 558_539
ClassID: 558
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/UnitOfWorkCloserInterceptor.java
Name: org.apache.camel.component.cxf.common.UnitOfWorkCloserInterceptor.handleMessage(Message message)
    public void handleMessage(Message message) throws Fault {
        if (handleOneWayMessage) {
            if (isOneWay(message)) {
                CxfUtils.closeCamelUnitOfWork(message);
            }
        } else {  
            CxfUtils.closeCamelUnitOfWork(message);
        }
    }
ID: 922_794
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #1106 Negative (Non-Clone)
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1107 Negative (Non-Clone)
ID: 2247_1771
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryModifiedEvent<?, ?> event)
    public void processEvent(CacheEntryModifiedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getNewValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ENTRY_CREATED, event.isCreated());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                    });
        }
    }
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
Pair #1108 Negative (Non-Clone)
ID: 1106_937
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        UpdateUserOption userOption;
        if (body instanceof UpdateUserOption) {
            userOption = (UpdateUserOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                userOption = new ObjectMapper().readValue(strBody, UpdateUserOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or UpdateUserOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to update user");
        }

         
        UpdateUserRequestBody requestBody = new UpdateUserRequestBody()
                .withUser(userOption);
        UpdateUserRequest request = new UpdateUserRequest()
                .withBody(requestBody)
                .withUserId(clientConfigurations.getUserId());
        UpdateUserResponse response = iamClient.updateUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
Pair #1109 Negative (Non-Clone)
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #1110 Negative (Non-Clone)
ID: 3260_2619
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue, Class<T> type)
    public <T> T getHeader(String name, Object defaultValue, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
            value = defaultValue;
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
ID: 180_166
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllQueryJobs(String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback)
    public void getAllQueryJobs(
            String queryLocator, Map<String, List<String>> headers, QueryJobsResponseCallback callback) {
        String url = queryJobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
Pair #1111 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 974_820
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setLong(++totalParameterIndex, version + 1);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                    }
Pair #1112 Negative (Non-Clone)
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
Pair #1113 Negative (Non-Clone)
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #1114 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
Pair #1115 Negative (Non-Clone)
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #1116 Negative (Non-Clone)
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
ID: 1720_1438
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
Pair #1117 Negative (Non-Clone)
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #1118 Negative (Non-Clone)
ID: 1215_1038
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
ID: 1137_976
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestStateProducer.java
Name: org.apache.camel.component.github.producer.PullRequestStateProducer.PullRequestStateProducer(GitHubEndpoint endpoint)
    public PullRequestStateProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }
        initService(commitService);

        state = endpoint.getState();
        targetUrl = endpoint.getTargetUrl();
    }
Pair #1119 Negative (Non-Clone)
ID: 685_625
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1120 Negative (Non-Clone)
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
Pair #1121 Negative (Non-Clone)
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 1010_874
ClassID: 1010
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4AppWrapper.java
Name: org.apache.camel.component.olingo4.Olingo4AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo4App.read(null, Constants.METADATA, null, endpointHttpHeaders, new Olingo4ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
Pair #1122 Negative (Non-Clone)
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3285_2681
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, String message)
    public void process(Exchange exchange, String message) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange) + message;
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output);
            closeListeners(exchange, output);
        }
    }
Pair #1123 Negative (Non-Clone)
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
ID: 498_525
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsClientFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsClientFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name) || "headers".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "providers".equals(name)
                || "schemaLocations".equals(name) || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
Pair #1124 Negative (Non-Clone)
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #1125 Negative (Non-Clone)
ID: 756_677
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeProducer.java
Name: org.apache.camel.component.ignite.compute.IgniteComputeProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        IgniteCompute compute = endpoint.createIgniteCompute().withAsync();

        try {
            switch (executionTypeFor(exchange)) {

                case CALL:
                    doCall(exchange, compute);
                    break;

                case BROADCAST:
                    doBroadcast(exchange, compute);
                    break;

                case EXECUTE:
                    doExecute(exchange, compute);
                    break;

                case RUN:
                    doRun(exchange, compute);
                    break;

                case APPLY:
                    doApply(exchange, compute);
                    break;

                case AFFINITY_CALL:
                    doAffinityCall(exchange, compute);
                    break;

                case AFFINITY_RUN:
                    doAffinityRun(exchange, compute);
                    break;

                default:
                    exchange.setException(
                            new UnsupportedOperationException("Operation not supported by Ignite Compute producer."));
                    callback.done(false);
                    return false;
            }

            compute.future().listen(IgniteInCamelClosure.create(exchange, callback));
            return false;

        } catch (Exception e) {
            exchange.setException(e);
            callback.done(false);
            return false;
        }
    }
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #1126 Negative (Non-Clone)
ID: 443_469
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerSharedInitializerFactory.createSSLContext()
    private SSLContext createSSLContext() throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(null);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #1127 Negative (Non-Clone)
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #1128 Negative (Non-Clone)
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #1129 Negative (Non-Clone)
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
Pair #1130 Negative (Non-Clone)
ID: 3100_2374
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ParamDefinition.java
Name: org.apache.camel.model.rest.ParamDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #1131 Negative (Non-Clone)
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #1132 Negative (Non-Clone)
ID: 1546_1362
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (leaderSelector == null || isStoppingOrStopped()) {
            return Optional.empty();
        }

        try {
            Participant participant = leaderSelector.getLeader();

            return ObjectHelper.equal(participant.getId(), localMember.getId())
                    ? Optional.of(localMember)
                    : Optional.of(new CuratorClusterMember(participant));
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get get master because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Optional.empty();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1133 Negative (Non-Clone)
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
ID: 188_188
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateJob(final Exchange exchange, final AsyncCallback callback)
    private void processCreateJob(final Exchange exchange, final AsyncCallback callback)
            throws InvalidPayloadException {
        JobInfo jobBody = exchange.getIn().getMandatoryBody(JobInfo.class);
        bulkClient.createJob(jobBody, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #1134 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
Pair #1135 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
Pair #1136 Negative (Non-Clone)
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #1137 Negative (Non-Clone)
ID: 2645_2296
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(boolean autoRelease)
    public Exchange create(boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(null, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
ID: 3162_2411
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedInflightRepository.java
Name: org.apache.camel.management.mbean.ManagedInflightRepository.browse(String routeId, int limit, boolean sortByLongestDuration)
    public TabularData browse(String routeId, int limit, boolean sortByLongestDuration) {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listInflightExchangesTabularType());
            Collection<InflightRepository.InflightExchange> exchanges
                    = inflightRepository.browse(routeId, limit, sortByLongestDuration);

            for (InflightRepository.InflightExchange entry : exchanges) {
                CompositeType ct = CamelOpenMBeanTypes.listInflightExchangesCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1138 Negative (Non-Clone)
ID: 1309_1168
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.eventReceived(Action action, ConfigMap resource)
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
Pair #1139 Negative (Non-Clone)
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #1140 Negative (Non-Clone)
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1689_1411
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteConfigurationContextFactoryBean) {
                CamelRouteConfigurationContextFactoryBean factoryBean = (CamelRouteConfigurationContextFactoryBean) value;
                builder.addPropertyValue("routeConfigurations", factoryBean.getRouteConfigurations());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1141 Negative (Non-Clone)
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
Pair #1142 Negative (Non-Clone)
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #1143 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
Pair #1144 Negative (Non-Clone)
ID: 1547_1365
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/SetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.SetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = connection.setData(node, data, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'  with '%d' bytes of data, retrieved statistics '%s' ",
                            node, data != null ? data.length : 0, statistics));
                } else {
                    LOG.debug(format("Set data of node '%s' with '%d' bytes of data", node, data != null ? data.length : 0));
                }
            }
            return new OperationResult<>(data, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 487_517
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #1145 Negative (Non-Clone)
ID: 1739_1451
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketComponent.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
ID: 141_123
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.startInterrogation(ASDUAddress asduAddress, short qoi)
    public boolean startInterrogation(ASDUAddress asduAddress, short qoi) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot start interrogation: not connected or data module not initialized");
            return false;
        }
        try {
            context.startInterrogation(asduAddress, qoi);
            LOG.debug("Started interrogation for ASDU address {} with QOI {}", asduAddress, qoi);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to start interrogation", e);
            return false;
        }
    }
Pair #1146 Negative (Non-Clone)
ID: 1194_1021
ClassID: 1194
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.lookupByNameAndType(String name, Class<T> type)
    public <T> T lookupByNameAndType(String name, Class<T> type) {
        Object answer = lookupByName(name);

         
        if (answer == null) {
            return null;
        }

        try {
            answer = unwrap(answer);
            return type.cast(answer);
        } catch (Exception e) {
            String msg = "Found bean: " + name + " in JNDI Context: " + context
                         + " of type: " + answer.getClass().getName() + " expected type was: " + type;
            throw new NoSuchBeanException(name, msg, e);
        }
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #1147 Negative (Non-Clone)
ID: 1624_1399
ClassID: 1624
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-vector-store/src/main/java/org/apache/camel/component/springai/vectorstore/SpringAiVectorStoreProducer.java
Name: org.apache.camel.component.springai.vectorstore.SpringAiVectorStoreProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        final Message message = exchange.getMessage();
        final VectorStore vectorStore = getEndpoint().getConfiguration().getVectorStore();

         
        SpringAiVectorStoreOperation operation = message.getHeader(
                SpringAiVectorStoreHeaders.OPERATION,
                getEndpoint().getConfiguration().getOperation(),
                SpringAiVectorStoreOperation.class);

        switch (operation) {
            case ADD:
                processAdd(exchange, vectorStore);
                break;
            case DELETE:
                processDelete(exchange, vectorStore);
                break;
            case SIMILARITY_SEARCH:
                processSimilaritySearch(exchange, vectorStore);
                break;
            default:
                throw new IllegalArgumentException("Unknown operation: " + operation);
        }
    }
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #1148 Negative (Non-Clone)
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #1149 Negative (Non-Clone)
ID: 184_176
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void queryAll(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "queryAll/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
ID: 304_366
ClassID: 304
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #1150 Negative (Non-Clone)
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
Pair #1151 Negative (Non-Clone)
ID: 1010_874
ClassID: 1010
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4AppWrapper.java
Name: org.apache.camel.component.olingo4.Olingo4AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo4App.read(null, Constants.METADATA, null, endpointHttpHeaders, new Olingo4ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #1152 Negative (Non-Clone)
ID: 1282_1125
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateEdge()
    private Function<Exchange, Object> updateEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.updateEdge(key, edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 230_275
ClassID: 230
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<ShareFileItem> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<ShareFileItem> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<ShareFileItem> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<ShareFileItem> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #1153 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
Pair #1154 Negative (Non-Clone)
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #1155 Negative (Non-Clone)
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #1156 Negative (Non-Clone)
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
ID: 1888_1559
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
Pair #1157 Negative (Non-Clone)
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
Pair #1158 Negative (Non-Clone)
ID: 229_273
ClassID: 229
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.smb.strategy.SmbChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file,
            Exchange exchange) {

        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("smb-acquire-exclusive-read-lock")
                .build();

        SmbExclusiveReadLockCheck exclusiveReadLockCheck = new SmbExclusiveReadLockCheck(minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }
        return true;
    }
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
Pair #1159 Negative (Non-Clone)
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
Pair #1160 Negative (Non-Clone)
ID: 1275_1120
ClassID: 1275
File: systems/camel-java/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
Name: org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #1161 Negative (Non-Clone)
ID: 2178_1714
ClassID: 2178
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/ManagementHttpServer.java
Name: org.apache.camel.component.platform.http.main.ManagementHttpServer.extractState(int status)
            private String extractState(int status) {
                if (status <= 4) {
                    return "Starting";
                } else if (status == 5) {
                    return "Running";
                } else if (status == 6) {
                    return "Suspending";
                } else if (status == 7) {
                    return "Suspended";
                } else if (status == 8) {
                    return "Terminating";
                } else if (status == 9) {
                    return "Terminated";
                } else {
                    return "Terminated";
                }
            }
ID: 1423_1269
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.close()
    public void close() {
        if (listenerThread != null) {
            lock.lock();
            try {
                try {
                    listenerThread.serverSocket.close();
                } catch (IOException e) {
                    LOG.info(e.getMessage(), e);
                } finally {
                    listenerThread = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1162 Negative (Non-Clone)
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #1163 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 3261_2621
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        Set<T> answer = new LinkedHashSet<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.add(type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }
        return answer;
    }
Pair #1164 Negative (Non-Clone)
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 1807_1484
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTopContainerRequest(DockerClient client, Message message)
    private TopContainerCmd executeTopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Top Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        TopContainerCmd topContainerCmd = client.topContainerCmd(containerId);

        String psArgs = DockerHelper.getProperty(DockerConstants.DOCKER_PS_ARGS, configuration, message, String.class);

        if (psArgs != null) {
            topContainerCmd.withPsArgs(psArgs);
        }

        return topContainerCmd;

    }
Pair #1165 Negative (Non-Clone)
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #1166 Negative (Non-Clone)
ID: 2654_2320
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludedHeader(String key)
    private boolean isExcludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("-header:")) {
                pattern = StringHelper.after(pattern, "-header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #1167 Negative (Non-Clone)
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1168 Negative (Non-Clone)
ID: 1428_1281
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/AS2DispositionType.java
Name: org.apache.camel.component.as2.api.entity.AS2DispositionType.parseDispositionType(String dispositionTypeString)
    public static AS2DispositionType parseDispositionType(String dispositionTypeString) {
        switch (dispositionTypeString) {
            case "processed":
                return PROCESSED;
            case "failed":
                return FAILED;
            default:
                return null;
        }
    }
ID: 2607_2238
ClassID: 2607
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
Pair #1169 Negative (Non-Clone)
ID: 2472_2011
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInflight.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInflight.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("inflight");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.fromRouteId = jo.getString("fromRouteId");
                                    Boolean bool = jo.getBoolean("fromRemoteEndpoint");
                                    if (bool != null) {
                                         
                                        remoteVisible.set(true);
                                        row.fromRemoteEndpoint = bool;
                                    }
                                    row.atRouteId = jo.getString("atRouteId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.elapsed = jo.getLong("elapsed");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("REMOTE").visible(remoteVisible.get()).dataAlign(HorizontalAlign.CENTER)
                            .with(this::getRemote),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.atRouteId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.RIGHT).with(this::getElapsed),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1170 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #1171 Negative (Non-Clone)
ID: 3298_2710
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/ConfigurationPropertiesValidationResult.java
Name: org.apache.camel.catalog.ConfigurationPropertiesValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }
        if (invalidMap != null) {
            for (Map.Entry<String, String> entry : invalidMap.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty map key/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid map key/value: " + entry.getValue());
                }
            }
        }
        if (invalidArray != null) {
            for (Map.Entry<String, String> entry : invalidArray.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty array index/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid array index/value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder();
        if (includeHeader) {
            sb.append("Configuration properties error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (text != null) {
            sb.append("\t").append(text).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, shortKey(option.getKey()), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
ID: 242_309
ClassID: 242
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            if (propertiesFunction.isUseDefaultInstance()) {
                root.put("login", "Default Instance");
            } else {
                root.put("login", "Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                root.put("refreshEnabled", gcp.isRefreshEnabled());
                root.put("refreshPeriod", gcp.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
Pair #1172 Negative (Non-Clone)
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
Pair #1173 Negative (Non-Clone)
ID: 112_104
ClassID: 112
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
Name: org.apache.camel.component.servlet.ServletComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "servlet");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #1174 Negative (Non-Clone)
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 2658_2328
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetPropertyProcessor.java
Name: org.apache.camel.processor.SetPropertyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newProperty = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = propertyName.evaluate(exchange, String.class);
            exchange.setProperty(key, newProperty);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1175 Negative (Non-Clone)
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #1176 Negative (Non-Clone)
ID: 1449_1306
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unidentifiedRecord(UnidentifiedRecordException ex)
    public void unidentifiedRecord(UnidentifiedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnidentifiedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnidentifiedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #1177 Negative (Non-Clone)
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #1178 Negative (Non-Clone)
ID: 897_750
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
Pair #1179 Negative (Non-Clone)
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
ID: 2464_1973
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.tailTraceFiles(Map<Long, Pid> pids, int tail)
    private void tailTraceFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getTraceFile(pid.pid);
            if (Files.exists(file)) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #1180 Negative (Non-Clone)
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
Pair #1181 Negative (Non-Clone)
ID: 757_679
ClassID: 757
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketResultHandler.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketResultHandler.onResult(String connectionKey)
    void onResult(String connectionKey) {
        lock.lock();
        try {
            connectionKeys.remove(connectionKey);
            if (connectionKeys.isEmpty()) {
                onComplete();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
Pair #1182 Negative (Non-Clone)
ID: 201_229
ClassID: 201
File: systems/camel-java/components/camel-wasm/src/main/java/org/apache/camel/language/wasm/WasmExpression.java
Name: org.apache.camel.language.wasm.WasmExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1183 Negative (Non-Clone)
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
Pair #1184 Negative (Non-Clone)
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1185 Negative (Non-Clone)
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
Pair #1186 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 1170_1000
ClassID: 1170
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
Name: org.apache.camel.coap.CoAPEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        final Consumer consumer;
        if (isObserve()) {
            consumer = new CoAPObserver(this, processor);
        } else {
            consumer = new CoAPConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #1187 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #1188 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
Pair #1189 Negative (Non-Clone)
ID: 468_502
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpProducer.java
Name: org.apache.camel.component.snmp.SnmpProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
            this.pdu = null;
        }
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1190 Negative (Non-Clone)
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
Pair #1191 Negative (Non-Clone)
ID: 9_0
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, LoadingCache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "LoadingCache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
Pair #1192 Negative (Non-Clone)
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
Pair #1193 Negative (Non-Clone)
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1194 Negative (Non-Clone)
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
ID: 1994_1637
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = endpoint.createExchange(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
Pair #1195 Negative (Non-Clone)
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 176_154
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeSyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void executeSyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final boolean useGet = reportMetadata == null;
        final Request request
                = getRequest(useGet ? HttpMethod.GET : HttpMethod.POST, reportsUrl(reportId, includeDetails), headers);

         
        if (!useGet) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                SyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, SyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
Pair #1196 Negative (Non-Clone)
ID: 681_613
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 2636_2271
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheck(String id)
    public HealthCheck resolveHealthCheck(String id) {
         
        HealthCheck answer = camelContext.getRegistry().lookupByNameAndType(id + "-health-check", HealthCheck.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheck.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheck(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheck registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheck.class.isAssignableFrom(type)) {
                return (HealthCheck) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check: " + id + " detected type conflict: Not a HealthCheck implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #1197 Negative (Non-Clone)
ID: 2107_1702
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.resolveDataSet(Exchange exchange)
    protected DataSet resolveDataSet(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_HEADER) != null) {
            return (DataSet) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_HEADER);
        } else if (getEndpoint().getDataSet() != null) {
            return getEndpoint().getDataSet();
        } else {
            throw new IllegalStateException("No DataSet defined");
        }
    }
ID: 275_347
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.scheduleMessages()
    private Consumer<Exchange> scheduleMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.scheduleMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);
                serviceBusSenderOperations.scheduleMessages(convertedBody,
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #1198 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 10_2
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {
        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
Pair #1199 Negative (Non-Clone)
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
ID: 2271_1793
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createDeleteHandler()
    protected DeleteHandler<Object> createDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, Consumed.class);
            if (methods.size() > 1) {
                throw new IllegalArgumentException(
                        "Only one method can be annotated with the @Consumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }
        if (getEndpoint().isConsumeDelete()) {
            return (EntityManager em, Object entityBean, Exchange exchange) -> em.remove(entityBean);
        }

        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };

    }
Pair #1200 Negative (Non-Clone)
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
Pair #1201 Negative (Non-Clone)
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 53_69
ClassID: 53
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #1202 Negative (Non-Clone)
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #1203 Negative (Non-Clone)
ID: 2339_1841
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #1204 Negative (Non-Clone)
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
Pair #1205 Negative (Non-Clone)
ID: 899_769
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request
                = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #1206 Negative (Non-Clone)
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
Pair #1207 Negative (Non-Clone)
ID: 445_476
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        consumer.getAsyncProcessor().process(exchange, doneSync -> {
             
            try {
                if (consumer.getConfiguration().isSync()) {
                    sendResponse(ctx, exchange);
                }
            } catch (Exception e) {
                consumer.getExceptionHandler().handleException(e);
            } finally {
                consumer.doneUoW(exchange);
                consumer.releaseExchange(exchange, false);
            }
        });
    }
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
Pair #1208 Negative (Non-Clone)
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
Pair #1209 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
Pair #1210 Negative (Non-Clone)
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #1211 Negative (Non-Clone)
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #1212 Negative (Non-Clone)
ID: 348_398
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.createRecord(Exchange exchange)
    private void createRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.POST, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 1104_932
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (this.iamClient == null) {
            LOG.info("Initializing SDK client");
            this.iamClient = endpoint.initClient();
            LOG.info("IAM client initialized");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case IAMOperations.LIST_USERS:
                listUsers(exchange);
                break;
            case IAMOperations.GET_USER:
                getUser(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_USER:
                updateUser(exchange, clientConfigurations);
                break;
            case IAMOperations.LIST_GROUPS:
                listGroups(exchange);
                break;
            case IAMOperations.GET_GROUP_USERS:
                getGroupUsers(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_GROUP:
                updateGroup(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
Pair #1213 Negative (Non-Clone)
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #1214 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #1215 Negative (Non-Clone)
ID: 1893_1565
ClassID: 1893
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.parseArguments(String[] arguments)
    public void parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            initOptions();
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }
        if (!valid) {
            showOptions();
            completed();
        }
    }
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
Pair #1216 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
Pair #1217 Negative (Non-Clone)
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
Pair #1218 Negative (Non-Clone)
ID: 338_384
ClassID: 338
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1219 Negative (Non-Clone)
ID: 3292_2695
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextServerParameters[clientAuthentication=");
        builder.append(clientAuthentication);
        builder.append(", getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
ID: 194_220
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponse(final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponse(
            final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectCompositeResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #1220 Negative (Non-Clone)
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #1221 Negative (Non-Clone)
ID: 2607_2238
ClassID: 2607
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1222 Negative (Non-Clone)
ID: 2494_2045
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifest(String clusterType, File workingDir, String extension)
    public static File getKubernetesManifest(String clusterType, File workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return new File(workingDir, "%s.%s".formatted(manifestFile, extension));
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #1223 Negative (Non-Clone)
ID: 2580_2175
ClassID: 2580
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.doLoad(File file, String kind)
    private static String doLoad(File file, String kind) {
        try {
            String json = PackageHelper.loadText(file);
            if (Objects.equals(kind, PackageHelper.getSchemaKind(json))) {
                return json;
            }
        } catch (IOException ignored) {
             
        }
        return null;
    }
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #1224 Negative (Non-Clone)
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
Pair #1225 Negative (Non-Clone)
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
Pair #1226 Negative (Non-Clone)
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #1227 Negative (Non-Clone)
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #1228 Negative (Non-Clone)
ID: 104_90
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientScope(Keycloak keycloakClient, Exchange exchange)
    private void createClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                Response response = keycloakClient.realm(realmName).clientScopes().create((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientScopeRepresentation clientScope = new ClientScopeRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME))) {
                String scopeName = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME, String.class);
                clientScope.setName(scopeName);
            } else {
                throw new IllegalArgumentException("Client scope name must be specified");
            }
            Response response = keycloakClient.realm(realmName).clientScopes().create(clientScope);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 2469_1990
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelResetStatsAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reset-stats");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #1229 Negative (Non-Clone)
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 27_45
ClassID: 27
File: systems/camel-java/components/camel-nitrite/src/generated/java/org/apache/camel/component/nitrite/NitriteTypeConvertersLoader.java
Name: org.apache.camel.component.nitrite.NitriteTypeConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.List.class, org.dizitart.no2.Cursor.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromCursorToList((org.dizitart.no2.Cursor) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.dizitart.no2.Document.class, java.util.Map.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromMapToDocument((java.util.Map) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1230 Negative (Non-Clone)
ID: 15_14
ClassID: 15
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/EvictionType.java
Name: org.apache.camel.component.caffeine.EvictionType.getEvictionType(String name)
    public static EvictionType getEvictionType(String name) {
        if (name == null) {
            return null;
        }
        for (EvictionType evictionType : VALUES) {
            if (evictionType.toString().equalsIgnoreCase(name) || evictionType.name().equalsIgnoreCase(name)) {
                return evictionType;
            }
        }
        throw new IllegalArgumentException(String.format("Eviction type '%s' is not supported by this component.", name));
    }
ID: 1253_1093
ClassID: 1253
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
        String uri = parseString(definition.getDeadLetterUri());
        ObjectHelper.notNull(uri, "deadLetterUri", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);

        Processor deadLetterProcessor = createDeadLetterChannelProcessor(uri);

        DeadLetterChannel answer = new DeadLetterChannel(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy, deadLetterProcessor, uri,
                parseBoolean(definition.getDeadLetterHandleNewException(), true),
                parseBoolean(definition.getUseOriginalMessage(), false),
                parseBoolean(definition.getUseOriginalBody(), false),
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                getProcessor(definition.getOnPrepareFailureProcessor(), definition.getOnPrepareFailureRef()),
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
Pair #1231 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 2372_1867
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteTranscriptionJobRequest) {
                try {
                    transcribeClient.deleteTranscriptionJob((DeleteTranscriptionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteTranscriptionJobRequest.Builder builder = DeleteTranscriptionJobRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME))) {
                String jobName = exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME, String.class);
                builder.transcriptionJobName(jobName);
            }
            try {
                transcribeClient.deleteTranscriptionJob(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #1232 Negative (Non-Clone)
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
Pair #1233 Negative (Non-Clone)
ID: 2455_1952
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        String context = readResourceTemplate("templates/spring-boot-build-gradle.tmpl");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        String camelVersion = catalog.getLoadedVersion();

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceFirst("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceFirst("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElse(camelSpringBootVersion, camelVersion));

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(am.getVersion());
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(gradleBuild));
    }
ID: 239_294
ClassID: 239
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/vault/IBMEventStreamReloadTriggerTask.java
Name: org.apache.camel.component.ibm.secrets.manager.vault.IBMEventStreamReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1234 Negative (Non-Clone)
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #1235 Negative (Non-Clone)
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #1236 Negative (Non-Clone)
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
Pair #1237 Negative (Non-Clone)
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1238 Negative (Non-Clone)
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #1239 Negative (Non-Clone)
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #1240 Negative (Non-Clone)
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1241 Negative (Non-Clone)
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
Pair #1242 Negative (Non-Clone)
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
ID: 2251_1783
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplaceAsync(Message message)
    public void onReplaceAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final CompletableFuture<Object> resultWithNewValue;
        final CompletableFuture<Boolean> resultWithNewAndOldValue;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue
                            = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                resultWithNewValue = cache.replaceAsync(key, value);
                setResult(message, resultWithNewValue);
            } else {
                resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value);
                setResult(message, resultWithNewAndOldValue);
            }
        }

    }
Pair #1243 Negative (Non-Clone)
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1244 Negative (Non-Clone)
ID: 1246_1076
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.kind()
    public WatchEvent.Kind<Path> kind() {
        switch (this) {
            case CREATE:
                return StandardWatchEventKinds.ENTRY_CREATE;
            case MODIFY:
                return StandardWatchEventKinds.ENTRY_MODIFY;
            case DELETE:
                return StandardWatchEventKinds.ENTRY_DELETE;
            default:
                return null;
        }
    }
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1245 Negative (Non-Clone)
ID: 2472_2009
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListBlocked.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListBlocked.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("blocked");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.routeId = jo.getString("routeId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.routeId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 187_183
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case BULK2_CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case BULK2_GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case BULK2_CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case BULK2_CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case BULK2_ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case BULK2_DELETE_JOB:
                    deleteJob(exchange, callback);
                    break;
                case BULK2_GET_SUCCESSFUL_RESULTS:
                    processGetSuccessfulResults(exchange, callback);
                    break;
                case BULK2_GET_FAILED_RESULTS:
                    processGetFailedResults(exchange, callback);
                    break;
                case BULK2_GET_UNPROCESSED_RECORDS:
                    processGetUnprocessedRecords(exchange, callback);
                    break;
                case BULK2_GET_ALL_JOBS:
                    processGetAllJobs(exchange, callback);
                    break;
                case BULK2_CREATE_QUERY_JOB:
                    processCreateQueryJob(exchange, callback);
                    break;
                case BULK2_GET_QUERY_JOB:
                    processGetQueryJob(exchange, callback);
                    break;
                case BULK2_GET_QUERY_JOB_RESULTS:
                    processGetQueryJobResults(exchange, callback);
                    break;
                case BULK2_ABORT_QUERY_JOB:
                    processAbortQueryJob(exchange, callback);
                    break;
                case BULK2_DELETE_QUERY_JOB:
                    processDeleteQueryJob(exchange, callback);
                    break;
                case BULK2_GET_ALL_QUERY_JOBS:
                    processGetAllQueryJobs(exchange, callback);
                    break;
                default:
                    throw new SalesforceException(
                            "Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(),
                            e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(),
                            e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
Pair #1246 Negative (Non-Clone)
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 1497_1338
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameNA(String size)
    public MediaSizeName selectMediaSizeNameNA(String size) {
        if (size.equalsIgnoreCase("na_letter")) {
            mediaSizeName = MediaSizeName.NA_LETTER;
        } else if (size.equalsIgnoreCase("na_legal")) {
            mediaSizeName = MediaSizeName.NA_LEGAL;
        } else if (size.equalsIgnoreCase("executive")) {
            mediaSizeName = MediaSizeName.EXECUTIVE;
        } else if (size.equalsIgnoreCase("ledger")) {
            mediaSizeName = MediaSizeName.LEDGER;
        } else if (size.equalsIgnoreCase("tabloid")) {
            mediaSizeName = MediaSizeName.TABLOID;
        } else if (size.equalsIgnoreCase("invoice")) {
            mediaSizeName = MediaSizeName.INVOICE;
        } else if (size.equalsIgnoreCase("folio")) {
            mediaSizeName = MediaSizeName.FOLIO;
        } else if (size.equalsIgnoreCase("quarto")) {
            mediaSizeName = MediaSizeName.QUARTO;
        } else if (size.equalsIgnoreCase("japanese_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_POSTCARD;
        } else if (size.equalsIgnoreCase("oufuko_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_DOUBLE_POSTCARD;
        } else if (size.equalsIgnoreCase("a")) {
            mediaSizeName = MediaSizeName.A;
        } else if (size.equalsIgnoreCase("b")) {
            mediaSizeName = MediaSizeName.B;
        } else if (size.equalsIgnoreCase("c")) {
            mediaSizeName = MediaSizeName.C;
        } else if (size.equalsIgnoreCase("d")) {
            mediaSizeName = MediaSizeName.D;
        } else if (size.equalsIgnoreCase("e")) {
            mediaSizeName = MediaSizeName.E;
        } else if (size.equalsIgnoreCase("iso_designated_long")) {
            mediaSizeName = MediaSizeName.ISO_DESIGNATED_LONG;
        } else if (size.equalsIgnoreCase("italian_envelope")) {
            mediaSizeName = MediaSizeName.ITALY_ENVELOPE;
        } else if (size.equalsIgnoreCase("monarch_envelope")) {
            mediaSizeName = MediaSizeName.MONARCH_ENVELOPE;
        } else if (size.equalsIgnoreCase("personal_envelope")) {
            mediaSizeName = MediaSizeName.PERSONAL_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_9_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_10_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_10_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_11_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_12_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_14_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_6x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_6X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_7x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_7X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x11_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x12_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x13_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X13_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x14_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x15_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X15_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_5x7")) {
            mediaSizeName = MediaSizeName.NA_5X7;
        } else if (size.equalsIgnoreCase("na_8x10")) {
            mediaSizeName = MediaSizeName.NA_8X10;
        } else {
            mediaSizeName = MediaSizeName.NA_LETTER;
        }

        return mediaSizeName;
    }
Pair #1247 Negative (Non-Clone)
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1248 Negative (Non-Clone)
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
Pair #1249 Negative (Non-Clone)
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
ID: 188_188
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCreateJob(final Exchange exchange, final AsyncCallback callback)
    private void processCreateJob(final Exchange exchange, final AsyncCallback callback)
            throws InvalidPayloadException {
        JobInfo jobBody = exchange.getIn().getMandatoryBody(JobInfo.class);
        bulkClient.createJob(jobBody, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #1250 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 3272_2645
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri)
    public static InputStream resolveMandatoryResourceAsInputStream(CamelContext camelContext, String uri) throws IOException {
        InputStream is = resolveResourceAsInputStream(camelContext, uri);
        if (is == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " for URI: " + uri);
        } else {
            return is;
        }
    }
Pair #1251 Negative (Non-Clone)
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #1252 Negative (Non-Clone)
ID: 3109_2395
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
Name: org.apache.camel.model.TemplatedRoutesDefinition.createTemplatedRouteDefinition(String id)
    protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
        TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
        if (id != null) {
            templatedRoute.setRouteTemplateRef(id);
        }
        if (resource != null) {
            templatedRoute.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
        return templatedRoute;
    }
ID: 1233_1059
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400MsgQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400MsgQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #1253 Negative (Non-Clone)
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #1254 Negative (Non-Clone)
ID: 1251_1087
ClassID: 1251
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        JtaTransactionErrorHandler answer;
         
         
         
         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        JtaTransactionErrorHandlerDefinition txBuilder;
        if (builder != null && builder.supportTransacted()) {
            if (!(builder instanceof JtaTransactionErrorHandlerDefinition)) {
                throw new RuntimeCamelException(
                        "The given transactional error handler builder '" + builder
                                                + "' is not of type '" + JtaTransactionErrorHandlerDefinition.class.getName()
                                                + "' which is required in this environment!");
            }
            LOG.debug("The ErrorHandlerBuilder configured is a JtaTransactionErrorHandlerDefinition: {}", builder);
            txBuilder = (JtaTransactionErrorHandlerDefinition) builder.cloneBuilder();
        } else {
            LOG.debug(
                    "No or no transactional ErrorHandlerBuilder configured, will use default JtaTransactionErrorHandlerDefinition settings");
            txBuilder = new JtaTransactionErrorHandlerDefinition();
        }

        txBuilder.setTransactedPolicy(this);

         
        if (builder != null) {
            route.addErrorHandlerFactoryReference(builder, txBuilder);
        }

        answer = createTransactionErrorHandler(route, processor, txBuilder);

         
        route.setErrorHandlerFactory(txBuilder);

         
        return answer;
    }
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
Pair #1255 Negative (Non-Clone)
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
Pair #1256 Negative (Non-Clone)
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
Pair #1257 Negative (Non-Clone)
ID: 2380_1871
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(String[] array1, String[] array2)
    public static String[] concat(String[] array1, String[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        String[] array = new String[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #1258 Negative (Non-Clone)
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #1259 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 3162_2409
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

             
            CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
            String url = getDestination();
            long hits = getProcessor().getCounter();

            CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
            answer.put(data);
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1260 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
Pair #1261 Negative (Non-Clone)
ID: 930_806
ClassID: 930
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.determineOperation(Exchange exchange)
    private GoogleVertexAIOperations determineOperation(Exchange exchange) {
        GoogleVertexAIOperations operation
                = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, GoogleVertexAIOperations.class);
        if (operation == null) {
            String operationString = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, String.class);
            if (operationString != null) {
                operation = GoogleVertexAIOperations.valueOf(operationString);
            }
        }
        return operation;
    }
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #1262 Negative (Non-Clone)
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1263 Negative (Non-Clone)
ID: 3287_2684
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, Marker marker, String message)
    public static void log(Logger log, LoggingLevel level, Marker marker, String message) {
        switch (level) {
            case DEBUG:
                log.debug(marker, message);
                break;
            case ERROR:
                log.error(marker, message);
                break;
            case INFO:
                log.info(marker, message);
                break;
            case TRACE:
                log.trace(marker, message);
                break;
            case WARN:
                log.warn(marker, message);
                break;
            default:
        }
    }
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #1264 Negative (Non-Clone)
ID: 2458_1957
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyMavenWrapper()
    protected void copyMavenWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, ".mvn/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path mvnwPath = Paths.get(BUILD_DIR, "mvnw");
        Path mvnwCmdPath = Paths.get(BUILD_DIR, "mvnw.cmd");
        Path wrapperJarPath = wrapperPath.resolve("maven-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("maven-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw")) {
            Files.copy(is, mvnwPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/mvnw.cmd")) {
            Files.copy(is, mvnwCmdPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("maven-wrapper/maven-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(mvnwPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(mvnwCmdPath, "rwxr-xr-x");
    }
ID: 2663_2344
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.calculateAndSetMaxRequestsPerPeriod(final Exchange exchange)
        public void calculateAndSetMaxRequestsPerPeriod(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle
                        = TotalRequestsThrottler.this.getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumRequestsPerPeriod must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxRequestsPerPeriodExpression was evaluated as null: "
                                                       + TotalRequestsThrottler.this.getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            while (delta > 0) {
                                delayQueue.take();
                                delta--;
                                if (LOG.isTraceEnabled()) {
                                    LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}",
                                            exchange.getExchangeId());
                                }
                            }
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            for (int i = 0; i < delta; i++) {
                                delayQueue.put(new ThrottlePermit(-1));
                            }
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #1265 Negative (Non-Clone)
ID: 3209_2477
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
Name: org.apache.camel.impl.console.RouteDumpDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDumpDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #1266 Negative (Non-Clone)
ID: 1008_871
ClassID: 1008
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ODataFeed) {
            index((ODataFeed) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else if (result instanceof ODataEntry) {
            index((ODataEntry) result);
        } else {
            indexDefault(result);
        }
    }
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
Pair #1267 Negative (Non-Clone)
ID: 381_423
ClassID: 381
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
Name: org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSRedelivered(Message message)
    public static Boolean getJMSRedelivered(Message message) {
        if (message == null) {
            return null;
        }

        try {
            return message.getJMSRedelivered();
        } catch (Exception e) {
             
        }

        return null;
    }
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
Pair #1268 Negative (Non-Clone)
ID: 1001_857
ClassID: 1001
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo2Consumer consumer = new Olingo2Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #1269 Negative (Non-Clone)
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
Pair #1270 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 3209_2479
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #1271 Negative (Non-Clone)
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #1272 Negative (Non-Clone)
ID: 1011_876
ClassID: 1011
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Producer.java
Name: org.apache.camel.component.olingo4.Olingo4Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo4Constants.FULL_RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }
        return false;

    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #1273 Negative (Non-Clone)
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #1274 Negative (Non-Clone)
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
Pair #1275 Negative (Non-Clone)
ID: 2522_2080
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
            case "cdcChangeTablesSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcChangeTablesSchema((java.lang.String) value); return true;
            case "cdcControlSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcControlSchema((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumDb2Component) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "db2Platform": getOrCreateConfiguration((DebeziumDb2Component) component).setDb2Platform((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumDb2Component) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumDb2Component) component).setIncludeSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumDb2Component) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumDb2Component) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumDb2Component) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumDb2Component) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumDb2Component) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumDb2Component) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumDb2Component) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
Pair #1276 Negative (Non-Clone)
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #1277 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #1278 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 1204_1031
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetHistory(Exchange exchange, AsyncCallback callback)
    private void doGetHistory(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .history()
                .channel(getChannel(exchange))
                .async((Result<PNHistoryResult> result) -> {
                    LOG.debug("Got history message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHistoryResult r = result.getOrNull();
                        processMessage(exchange, callback, r != null ? r.getMessages() : null);
                    }
                });
    }
Pair #1279 Negative (Non-Clone)
ID: 2287_1803
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.describeVectorIndex(S3VectorsClient client, Exchange exchange)
    private void describeVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        GetIndexRequest request = GetIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Describing vector index [{}] in bucket [{}]", vectorIndexName, vectorBucketName);
        GetIndexResponse response = client.getIndex(request);
        LOG.trace("Describe vector index response: {}", response);

         
        message.setBody(response);
    }
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
Pair #1280 Negative (Non-Clone)
ID: 2273_1797
ClassID: 2273
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/processor/idempotent/jpa/JpaMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.add(final Exchange exchange, final String messageId)
    public boolean add(final Exchange exchange, final String messageId) {
        final EntityManager entityManager
                = getTargetEntityManager(exchange, entityManagerFactory, true, sharedEntityManager, true);
         
        final Boolean[] rc = new Boolean[1];
        transactionStrategy.executeInTransaction(() -> {
            if (isJoinTransaction()) {
                entityManager.joinTransaction();
            }

            try {
                List<?> list = query(entityManager, messageId);
                if (list.isEmpty()) {
                    MessageProcessed processed = new MessageProcessed();
                    processed.setProcessorName(processorName);
                    processed.setMessageId(messageId);
                    processed.setCreatedAt(new Date());
                    entityManager.persist(processed);
                    entityManager.flush();
                    entityManager.close();
                    rc[0] = Boolean.TRUE;
                } else {
                    rc[0] = Boolean.FALSE;
                }
            } catch (Exception ex) {
                String contextInfo = String.format(SOMETHING_WENT_WRONG, ex.getMessage());
                throw new PersistenceException(contextInfo, ex);
            } finally {
                try {
                    if (entityManager.isOpen()) {
                        entityManager.close();
                    }
                } catch (Exception e) {
                     
                }
            }
        });

        LOG.debug("add {} -> {}", messageId, rc[0]);
        return rc[0];
    }
ID: 257_333
ClassID: 257
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSConsumer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    processComplete(exchange);
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processFailure(exchange);
                }
            });

            AsyncCallback callback = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, callback);
        }

        return total;
    }
Pair #1281 Negative (Non-Clone)
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 3164_2423
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEnricher.java
Name: org.apache.camel.management.mbean.ManagedEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1282 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #1283 Negative (Non-Clone)
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
ID: 3110_2396
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesAdapter.java
Name: org.apache.camel.model.app.BeanPropertiesAdapter.marshal(Map<String, Object> v)
    public BeanPropertiesDefinition marshal(Map<String, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanPropertyDefinition[] result = new BeanPropertyDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<String, Object> entry : v.entrySet()) {
            String k = entry.getKey();
            Object value = entry.getValue();
            BeanPropertyDefinition pd = new BeanPropertyDefinition();
            pd.setKey(k);
            if (value instanceof Map) {
                pd.setProperties(marshal((Map<String, Object>) value));
            } else {
                pd.setValue(value.toString());
            }
            result[pos++] = pd;
        }
        BeanPropertiesDefinition propertiesDefinition = new BeanPropertiesDefinition();
        propertiesDefinition.setProperties(Arrays.asList(result));
        return propertiesDefinition;
    }
Pair #1284 Negative (Non-Clone)
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #1285 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #1286 Negative (Non-Clone)
ID: 1317_1220
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Config maps Cluster:");
            sb.append(String.format("\n    Master Url: %s", propertiesFunction.getClient().getMasterUrl()));
            sb.append("\n    Login: OAuth Token");
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (cmRefreshTask != null) {
                Instant start = cmRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
Pair #1287 Negative (Non-Clone)
ID: 2639_2281
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue)
    protected Processor createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                exchange.setProperty(property, propertyValue);
                Message in = exchange.getIn();
                in.setBody(body);
            }
        };
    }
ID: 2474_2015
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseTraceLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        int doneTraces = 0;
        for (Row r : rows) {
            printTrace(r.name, pids.size(), r, limit);
            if (r.done) {
                doneTraces++;
            }
        }

        if (latest) {
             
            return doneTraces == 0;
        } else {
            return true;
        }
    }
Pair #1288 Negative (Non-Clone)
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
Pair #1289 Negative (Non-Clone)
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
Pair #1290 Negative (Non-Clone)
ID: 685_623
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #1291 Negative (Non-Clone)
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
Pair #1292 Negative (Non-Clone)
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
ID: 2176_1708
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration)
    private void configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
Pair #1293 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 1915_1581
ClassID: 1915
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(replicatedPersistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #1294 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
Pair #1295 Negative (Non-Clone)
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
Pair #1296 Negative (Non-Clone)
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1297 Negative (Non-Clone)
ID: 1718_1428
ClassID: 1718
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.ElasticsearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, ElasticsearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public ElasticsearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, ElasticsearchClient esClient,
                                              int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #1298 Negative (Non-Clone)
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
Pair #1299 Negative (Non-Clone)
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1300 Negative (Non-Clone)
ID: 1252_1089
ClassID: 1252
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
Name: org.apache.camel.jta.JtaTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected JtaTransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor,
            ErrorHandlerFactory builder) {
        JtaTransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
Pair #1301 Negative (Non-Clone)
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
Pair #1302 Negative (Non-Clone)
ID: 53_69
ClassID: 53
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1303 Negative (Non-Clone)
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #1304 Negative (Non-Clone)
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
ID: 1546_1362
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (leaderSelector == null || isStoppingOrStopped()) {
            return Optional.empty();
        }

        try {
            Participant participant = leaderSelector.getLeader();

            return ObjectHelper.equal(participant.getId(), localMember.getId())
                    ? Optional.of(localMember)
                    : Optional.of(new CuratorClusterMember(participant));
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get get master because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Optional.empty();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1305 Negative (Non-Clone)
ID: 2092_1683
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.getSftpRemoteFiles(String dir)
    private SftpRemoteFile[] getSftpRemoteFiles(String dir) {
        SftpRemoteFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 979_831
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa5_0(long old0, long active0)
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(3, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(4, active0);
      return 5;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x8L) != 0L)
            return jjStopAtPos(5, 3);
         break;
      default :
         break;
   }
   return jjStartNfa_0(4, active0);
}
Pair #1306 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2296_1816
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkSyncClientBuilder<B, C>, C extends SdkClient> C buildClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        ApacheHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            URI proxyEndpoint = URI.create(
                    config.getProxyProtocol() + "://" + config.getProxyHost() + ":" + config.getProxyPort());
            ProxyConfiguration proxyConfig = ProxyConfiguration.builder()
                    .endpoint(proxyEndpoint)
                    .build();
            httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = ApacheHttpClient.builder();
            }
            SdkHttpClient httpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(httpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #1307 Negative (Non-Clone)
ID: 1275_1120
ClassID: 1275
File: systems/camel-java/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
Name: org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #1308 Negative (Non-Clone)
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #1309 Negative (Non-Clone)
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1310 Negative (Non-Clone)
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #1311 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 1310_1188
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        EventList eventList;
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, eventList.getItems());
    }
Pair #1312 Negative (Non-Clone)
ID: 685_621
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #1313 Negative (Non-Clone)
ID: 2470_1999
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpointUri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #1314 Negative (Non-Clone)
ID: 2399_1886
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
            throws Exception {
        HazelcastInstance hzInstance = null;
        ClientConfig config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = HazelcastClient.getHazelcastClientByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, ClientConfig.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlClientConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlClientConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = HazelcastClient.newHazelcastClient(config);
            } else if (config != null) {
                hzInstance = HazelcastClient.newHazelcastClient(config);
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 2246_1770
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeClientListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                if (this.version != null) {
                    cache.removeWithVersion(InfinispanClusterService.LEADER_KEY, this.version);
                }

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }

            this.version = null;
        }
Pair #1315 Negative (Non-Clone)
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 3170_2437
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageBody(Integer index)
    public String browseMessageBody(Integer index) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.extractBodyAsString(msg);
    }
Pair #1316 Negative (Non-Clone)
ID: 684_619
ClassID: 684
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/AbstractMicrometerProducer.java
Name: org.apache.camel.component.micrometer.AbstractMicrometerProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #1317 Negative (Non-Clone)
ID: 977_825
ClassID: 977
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
    public void marshallExchange(
            Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        encode(pe, outputStream);
    }
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1318 Negative (Non-Clone)
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
Pair #1319 Negative (Non-Clone)
ID: 1213_1035
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #1320 Negative (Non-Clone)
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 3335_2735
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstNotNull(ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstNotNull(ThrowingSupplier<T, Exception>... suppliers) throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (answer != null) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #1321 Negative (Non-Clone)
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
Pair #1322 Negative (Non-Clone)
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #1323 Negative (Non-Clone)
ID: 1975_1611
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomCvPredictor.predict(Exchange exchange, Image image)
    protected T predict(Exchange exchange, Image image) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Image, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, image);
        try (Predictor<Image, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(image);
        } catch (TranslateException e) {
            LOG.error("Could not process input or output", e);
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1324 Negative (Non-Clone)
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
Pair #1325 Negative (Non-Clone)
ID: 1006_867
ClassID: 1006
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
ID: 3283_2677
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createXmlElementMaskPattern(Set<String> keywords)
    protected Pattern createXmlElementMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "(<([\\w]*(?:");
        regex.append(")[\\w]*)(?:[\\s]+.+)*?>[\\s]*?)(?:[\\S&&[^<]]+(?:\\s+[\\S&&[^<]]+)*?)([\\s]*?</\\2>)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("XML Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #1326 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 1788_1467
ClassID: 1788
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        Reader reader = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
             
            reader = new XmlStreamReader(in);
            return createIterator(reader);
        } catch (Exception e) {
            exchange.setException(e);
             
            IOHelper.close(in, reader);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in, reader);
            }
        }
    }
Pair #1327 Negative (Non-Clone)
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #1328 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 218_240
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.subscribeToMono(final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback)
    private <T> void subscribeToMono(
            final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback) {
        inputMono
                .subscribe(resultsCallback, error -> {
                     
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    }
                    exchange.setException(error);
                    callback.done(false);
                }, () -> {
                     
                    LOG.trace("All events with exchange have been sent successfully.");
                    callback.done(false);
                });
    }
Pair #1329 Negative (Non-Clone)
ID: 453_484
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.getFileInfo(String fileId, String... fields)
    public BoxFile.Info getFileInfo(String fileId, String... fields) {
        try {
            LOG.debug("Getting info for file(id={})", fileId);
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);

            BoxFile file = new BoxFile(boxConnection, fileId);

            if (fields == null || fields.length == 0) {
                return file.getInfo();
            } else {
                return file.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2469_1992
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelGCAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "gc");
            Path f = getActionFile(Long.toString(pid));
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #1330 Negative (Non-Clone)
ID: 1331_1234
ClassID: 1331
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java
Name: org.apache.camel.component.grpc.GrpcConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (this.isRunAllowed()) {
            this.getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
ID: 3212_2487
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                mps.add(mp);
            }
        }
         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        ProcessorDevConsole.includeProcessorsText(getCamelContext(), sb, 0, null, mps);
    }
Pair #1331 Negative (Non-Clone)
ID: 464_489
ClassID: 464
File: systems/camel-java/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
Name: org.apache.camel.component.box.internal.BoxApiCollection.getEndpointConfiguration(BoxApiName apiName)
    public BoxConfiguration getEndpointConfiguration(BoxApiName apiName) {
        BoxConfiguration result = null;
        switch (apiName) {
            case COLLABORATIONS:
                result = new BoxCollaborationsManagerEndpointConfiguration();
                break;
            case COMMENTS:
                result = new BoxCommentsManagerEndpointConfiguration();
                break;
            case EVENT_LOGS:
                result = new BoxEventLogsManagerEndpointConfiguration();
                break;
            case FILES:
                result = new BoxFilesManagerEndpointConfiguration();
                break;
            case FOLDERS:
                result = new BoxFoldersManagerEndpointConfiguration();
                break;
            case GROUPS:
                result = new BoxGroupsManagerEndpointConfiguration();
                break;
            case EVENTS:
                result = new BoxEventsManagerEndpointConfiguration();
                break;
            case SEARCH:
                result = new BoxSearchManagerEndpointConfiguration();
                break;
            case TASKS:
                result = new BoxTasksManagerEndpointConfiguration();
                break;
            case USERS:
                result = new BoxUsersManagerEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
Pair #1332 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
Pair #1333 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #1334 Negative (Non-Clone)
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
Pair #1335 Negative (Non-Clone)
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #1336 Negative (Non-Clone)
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1337 Negative (Non-Clone)
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
ID: 2451_1942
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDevConsoleNames()) {
            DevConsoleModel model = catalog.devConsoleModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1338 Negative (Non-Clone)
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
Pair #1339 Negative (Non-Clone)
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #1340 Negative (Non-Clone)
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #1341 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1342 Negative (Non-Clone)
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #1343 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #1344 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 1477_1315
ClassID: 1477
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
Pair #1345 Negative (Non-Clone)
ID: 179_163
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, jobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 188_192
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllQueryJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobsResponseCallback() {
                    @Override
                    public void onResponse(QueryJobs jobs, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #1346 Negative (Non-Clone)
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #1347 Negative (Non-Clone)
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #1348 Negative (Non-Clone)
ID: 1407_1260
ClassID: 1407
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppUtils.java
Name: org.apache.camel.component.smpp.SmppUtils.copySubmitMulti(SubmitMulti src)
    public static SubmitMulti copySubmitMulti(SubmitMulti src) {
        SubmitMulti dest = new SubmitMulti();
        dest.setCommandId(src.getCommandId());
        dest.setCommandLength(src.getCommandLength());
        dest.setCommandStatus(src.getCommandStatus());
        dest.setDataCoding(src.getDataCoding());
        dest.setDestAddresses(src.getDestAddresses());
        dest.setEsmClass(src.getEsmClass());
        dest.setOptionalParameters(src.getOptionalParameters());
        dest.setPriorityFlag(src.getPriorityFlag());
        dest.setProtocolId(src.getProtocolId());
        dest.setRegisteredDelivery(src.getRegisteredDelivery());
        dest.setReplaceIfPresentFlag(src.getReplaceIfPresentFlag());
        dest.setScheduleDeliveryTime(src.getScheduleDeliveryTime());
        dest.setSequenceNumber(src.getSequenceNumber());
        dest.setServiceType(src.getServiceType());
        dest.setShortMessage(src.getShortMessage());
        dest.setSmDefaultMsgId(src.getSmDefaultMsgId());
        dest.setSourceAddr(src.getSourceAddr());
        dest.setSourceAddrNpi(src.getSourceAddrNpi());
        dest.setSourceAddrTon(src.getSourceAddrTon());
        dest.setValidityPeriod(src.getValidityPeriod());
        return dest;
    }
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
Pair #1349 Negative (Non-Clone)
ID: 1253_1093
ClassID: 1253
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
        String uri = parseString(definition.getDeadLetterUri());
        ObjectHelper.notNull(uri, "deadLetterUri", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);

        Processor deadLetterProcessor = createDeadLetterChannelProcessor(uri);

        DeadLetterChannel answer = new DeadLetterChannel(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy, deadLetterProcessor, uri,
                parseBoolean(definition.getDeadLetterHandleNewException(), true),
                parseBoolean(definition.getUseOriginalMessage(), false),
                parseBoolean(definition.getUseOriginalBody(), false),
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                getProcessor(definition.getOnPrepareFailureProcessor(), definition.getOnPrepareFailureRef()),
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
Pair #1350 Negative (Non-Clone)
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
Pair #1351 Negative (Non-Clone)
ID: 1428_1283
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/Importance.java
Name: org.apache.camel.component.as2.api.entity.Importance.get(String importance)
    public static Importance get(String importance) {
        if (importance == null) {
            return null;
        }

        switch (importance.toLowerCase()) {
            case "required":
                return REQUIRED;
            case "optional":
                return OPTIONAL;
            default:
                return null;
        }
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #1352 Negative (Non-Clone)
ID: 1137_976
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestStateProducer.java
Name: org.apache.camel.component.github.producer.PullRequestStateProducer.PullRequestStateProducer(GitHubEndpoint endpoint)
    public PullRequestStateProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }
        initService(commitService);

        state = endpoint.getState();
        targetUrl = endpoint.getTargetUrl();
    }
ID: 1039_899
ClassID: 1039
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");
        }

        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("jetty", config);

        boolean cors = config.isEnableCORS();
        if (cors) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("jetty", scheme, host, port, path, map);

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

        boolean binding = map.containsKey("httpBindingRef") || map.containsKey("httpBinding");

        if (!binding) {
             
            endpoint.setHttpBinding(new JettyRestHttpBinding(endpoint));
             
            endpoint.setEnableMultipartFilter(false);
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

         
        ServiceHelper.startService(endpoint);

        return consumer;
    }
Pair #1353 Negative (Non-Clone)
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 2639_2281
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue)
    protected Processor createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                exchange.setProperty(property, propertyValue);
                Message in = exchange.getIn();
                in.setBody(body);
            }
        };
    }
Pair #1354 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1355 Negative (Non-Clone)
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
ID: 2515_2072
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.stripSourceLocationLineNumber(String location)
    public static String stripSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(0, pos);
        } else {
            return location;
        }
    }
Pair #1356 Negative (Non-Clone)
ID: 2454_1949
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Quarkus project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            if (!prop.containsKey("quarkus.http.port")) {
                int port = httpServerPort(settings);
                if (port == -1) {
                    port = 8080;
                }
                if (port != 8080) {
                    prop.put("quarkus.http.port", port);
                }
            }
            if (!prop.containsKey("quarkus.management.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("quarkus.management.port", port);
                }
            }
            if (hawtio) {
                prop.setProperty("quarkus.hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
         
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + "quarkus-app" + File.separator + "quarkus-run.jar";
        copyReadme(BUILD_DIR, appJar);
         
        Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createGradleProperties(buildDir.resolve("gradle.properties"));
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }

        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Path.of(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
Pair #1357 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #1358 Negative (Non-Clone)
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 339_389
ClassID: 339
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(SjmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(SjmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #1359 Negative (Non-Clone)
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
Pair #1360 Negative (Non-Clone)
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
ID: 974_820
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setLong(++totalParameterIndex, version + 1);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                    }
Pair #1361 Negative (Non-Clone)
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1362 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #1363 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
Pair #1364 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1365 Negative (Non-Clone)
ID: 484_511
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #1366 Negative (Non-Clone)
ID: 2186_1717
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.compensate(URL lra, Exchange exchange)
    public CompletableFuture<Void> compensate(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CANCEL), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot compensate LRA");
            }

            return null;
        });
    }
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #1367 Negative (Non-Clone)
ID: 2655_2321
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isBodyEnabled()
    private boolean isBodyEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if ("body".equals(pattern) || "+body".equals(pattern)) {
                return true;
            } else if ("-body".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 1275_1117
ClassID: 1275
File: systems/camel-java/components/camel-dynamic-router/src/generated/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlServiceBulkConverterLoader.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlServiceBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #1368 Negative (Non-Clone)
ID: 227_267
ClassID: 227
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        FTPFile[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFtpFilesFast(operations, file);
        } else {
            files = getFtpFilesByFilter(operations, file);
        }
        return files;
    }
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
Pair #1369 Negative (Non-Clone)
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
ID: 1164_999
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.close()
    public void close() throws IOException {
        Subscription subscription;
        lock.lock();
        try {
            subscription = this.subscription;
        } finally {
            lock.unlock();
        }

        if (subscription != null) {
            subscription.cancel();
        }
    }
Pair #1370 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 101_71
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(String accessToken, Exchange exchange)
    private void validateRoles(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userRoles;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userRoles = KeycloakSecurityHelper.extractRolesFromIntrospection(
                        introspectionResult, policy.getRealm(), policy.getClientId());
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userRoles = KeycloakSecurityHelper.extractRoles(token, policy.getRealm(), policy.getClientId());
            }

            boolean hasRequiredRoles = policy.isAllRolesRequired()
                    ? userRoles.containsAll(policy.getRequiredRolesAsList())
                    : policy.getRequiredRolesAsList().stream().anyMatch(userRoles::contains);

            if (!hasRequiredRoles) {
                String message = String.format("User does not have required roles. Required: %s, User has: %s",
                        policy.getRequiredRoles(), userRoles);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Role validation successful for user with roles: {}", userRoles);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate roles", exchange, e);
        }
    }
Pair #1371 Negative (Non-Clone)
ID: 3232_2549
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeExceptionOgnlExpression(final String ognl)
    public static Expression exchangeExceptionOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                Object exception = exchange.getException();
                if (exception == null) {
                    exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Exception.class);
                }

                if (exception == null) {
                    return null;
                }

                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exception, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeExceptionOgnl(" + ognl + ")";
            }
        };
    }
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
Pair #1372 Negative (Non-Clone)
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
Pair #1373 Negative (Non-Clone)
ID: 2613_2260
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.XMLSecurityDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("secureTag", definition.getSecureTag());
        properties.put("secureTagContents", definition.getSecureTagContents());
        properties.put("passPhrase", or(definition.getPassPhrase(), definition.getPassPhraseByte()));
        properties.put("xmlCipherAlgorithm", definition.getXmlCipherAlgorithm());
        properties.put("keyCipherAlgorithm", definition.getKeyCipherAlgorithm());
        properties.put("recipientKeyAlias", definition.getRecipientKeyAlias());
        properties.put("keyOrTrustStoreParameters",
                or(definition.getKeyStoreParameters(), asRef(definition.getKeyOrTrustStoreParameters())));
        properties.put("namespaces", or(definition.getNamespaces(), asRef(definition.getNamespaceRef())));
        properties.put("keyPassword", definition.getKeyPassword());
        properties.put("digestAlgorithm", definition.getDigestAlgorithm());
        properties.put("mgfAlgorithm", definition.getMgfAlgorithm());
        properties.put("addKeyValueForEncryptedKey", definition.getAddKeyValueForEncryptedKey());
    }
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1374 Negative (Non-Clone)
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 2295_1812
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2Producer.java
Name: org.apache.camel.component.aws2.ec2.AWS2EC2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                LOG.trace("{} request performing", operationName);
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1375 Negative (Non-Clone)
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
ID: 1062_914
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setDataObjectFormatIdentifierDocumentationReferences(List<String> dataObjectFormatIdentifierDocumentationReferences)
    public void setDataObjectFormatIdentifierDocumentationReferences(
            List<String> dataObjectFormatIdentifierDocumentationReferences) {
        if (dataObjectFormatIdentifierDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'dataObjectFormatIdentifierDocumentationReferences' is null");
        }
        for (String ref : dataObjectFormatIdentifierDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one reference of the identifier of the data object format is null or empty");
            }
        }
        this.dataObjectFormatIdentifierDocumentationReferences
                = new ArrayList<>(dataObjectFormatIdentifierDocumentationReferences);
    }
Pair #1376 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
Pair #1377 Negative (Non-Clone)
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #1378 Negative (Non-Clone)
ID: 107_100
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollAdminEvents()
    private Queue<Exchange> pollAdminEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming admin events");
        }

         
         
         
        List<String> adminOperationTypes = parseCommaSeparatedList(config.getOperationTypes());
        List<AdminEventRepresentation> adminEvents = keycloakClient.realm(realm).getAdminEvents(
                adminOperationTypes,  
                config.getAuthRealmFilter(),  
                config.getAuthClient(),  
                config.getAuthUser(),  
                config.getAuthIpAddress(),  
                config.getResourcePath(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (AdminEventRepresentation adminEvent : adminEvents) {
            long eventTime = adminEvent.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getAdminEventFingerprint(adminEvent);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed admin event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(adminEvent);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "admin-event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, adminEvent.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                 
                 
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last admin event time to: {}", lastEventTime);
        }

        return queue;
    }
ID: 1720_1438
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
Pair #1379 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
Pair #1380 Negative (Non-Clone)
ID: 1160_991
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.to(String uri, Object data)
    public Publisher<Exchange> to(String uri, Object data) {
        requestedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from("reactive-streams:" + uuid)
                                .to(u);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create requested reactive stream from direct URI: " + uri, e);
            }
        });
        return toStream(requestedUriToStream.get(uri), data);
    }
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
Pair #1381 Negative (Non-Clone)
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #1382 Negative (Non-Clone)
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
ID: 2662_2341
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.release(final Exchange exchange)
        public void release(final Exchange exchange) {
            semaphore.release();
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, CLEAN_PERIOD, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttle cleaning rejected", e);
            }
        }
Pair #1383 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 897_751
ClassID: 897
File: systems/camel-java/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
Name: org.apache.camel.component.slack.SlackConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #1384 Negative (Non-Clone)
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
ID: 3230_2532
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionSingleExpression()
    public static Expression fileExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name, true);
            }

            @Override
            public String toString() {
                return "file:ext.single";
            }
        };
    }
Pair #1385 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 1316_1218
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doScaleReplicationController(Exchange exchange)
    protected void doScaleReplicationController(Exchange exchange) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("Scale a specific replication controller require specify a replication controller name");
            throw new IllegalArgumentException(
                    "Scale a specific replication controller require specify a replication controller name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific replication controller require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific replication controller require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a replicas number");
        }
        ReplicationController rcScaled = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                .withName(rcName).scale(replicasNumber);

        prepareOutboundMessage(exchange, rcScaled.getStatus().getReplicas());
    }
Pair #1386 Negative (Non-Clone)
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
ID: 217_237
ClassID: 217
File: systems/camel-java/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityProcessor.java
Name: org.apache.camel.component.shiro.security.ShiroSecurityProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            applySecurityPolicy(exchange);
        } catch (Exception e) {
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }

        return super.process(exchange, callback);
    }
Pair #1387 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #1388 Negative (Non-Clone)
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 1032_882
ClassID: 1032
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
    public static HttpMethods createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
        String queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
             
            uriString = UnsafeUriCharactersEncoder.encodeHttpURI(uriString);
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }

        HttpMethods answer;
        if (endpoint.getHttpMethod() != null) {
             
            answer = endpoint.getHttpMethod();
        } else {
             
            HttpMethods m = exchange.getIn().getHeader(Exchange.HTTP_METHOD, HttpMethods.class);
            if (m != null) {
                 
                answer = m;
            } else if (queryString != null) {
                 
                answer = HttpMethods.GET;
            } else {
                 
                answer = hasPayload ? HttpMethods.POST : HttpMethods.GET;
            }
        }

        return answer;
    }
Pair #1389 Negative (Non-Clone)
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 930_806
ClassID: 930
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.determineOperation(Exchange exchange)
    private GoogleVertexAIOperations determineOperation(Exchange exchange) {
        GoogleVertexAIOperations operation
                = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, GoogleVertexAIOperations.class);
        if (operation == null) {
            String operationString = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, String.class);
            if (operationString != null) {
                operation = GoogleVertexAIOperations.valueOf(operationString);
            }
        }
        return operation;
    }
Pair #1390 Negative (Non-Clone)
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
Pair #1391 Negative (Non-Clone)
ID: 176_154
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeSyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void executeSyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final boolean useGet = reportMetadata == null;
        final Request request
                = getRequest(useGet ? HttpMethod.GET : HttpMethod.POST, reportsUrl(reportId, includeDetails), headers);

         
        if (!useGet) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                SyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, SyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 679_605
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.doStart()
    protected void doStart() throws Exception {
        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerMessageHistoryService messageHistoryService
                    = camelContext.hasService(MicrometerMessageHistoryService.class);
            if (messageHistoryService == null) {
                messageHistoryService = new MicrometerMessageHistoryService();
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setMeterRegistry(getMeterRegistry());
                messageHistoryService.setPrettyPrint(isPrettyPrint());
                messageHistoryService.setDurationUnit(getDurationUnit());
                messageHistoryService.setMatchingTags(Tags.of(KIND, KIND_HISTORY));
                camelContext.addService(messageHistoryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

    }
Pair #1392 Negative (Non-Clone)
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #1393 Negative (Non-Clone)
ID: 172_130
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeOperation(OperationName operationName)
    private static boolean isCompositeOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE:
            case COMPOSITE_BATCH:
            case COMPOSITE_TREE:
                return true;
            default:
                return false;
        }
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1394 Negative (Non-Clone)
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 1002_858
ClassID: 1002
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #1395 Negative (Non-Clone)
ID: 127_118
ClassID: 127
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<FaultToleranceProcessor> cbs = new ArrayList<>();
        for (Route route : getCamelContext().getRoutes()) {
            List<Processor> list = route.filter("*");
            for (Processor p : list) {
                if (p instanceof FaultToleranceProcessor) {
                    cbs.add((FaultToleranceProcessor) p);
                }
            }
        }
         
        cbs.sort(Comparator.comparing(FaultToleranceProcessor::getId));

        final List<JsonObject> list = new ArrayList<>();
        for (FaultToleranceProcessor cb : cbs) {
            JsonObject jo = new JsonObject();
            jo.put("id", cb.getId());
            jo.put("routeId", cb.getRouteId());
            jo.put("state", cb.getCircuitBreakerState());
            list.add(jo);
        }
        root.put("circuitBreakers", list);

        return root;
    }
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #1396 Negative (Non-Clone)
ID: 2522_2080
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
            case "cdcChangeTablesSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcChangeTablesSchema((java.lang.String) value); return true;
            case "cdcControlSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcControlSchema((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumDb2Component) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "db2Platform": getOrCreateConfiguration((DebeziumDb2Component) component).setDb2Platform((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumDb2Component) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumDb2Component) component).setIncludeSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumDb2Component) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumDb2Component) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumDb2Component) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumDb2Component) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumDb2Component) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumDb2Component) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumDb2Component) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 174_135
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback)
    public void getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback) {
        final Request request = getRequest(HttpMethod.GET, reportsUrl(), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
        });
    }
Pair #1397 Negative (Non-Clone)
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
ID: 259_340
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithClientSecret(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithClientSecret(
            final DataLakeConfiguration configuration) {
        ClientSecretCredential clientSecretCredential = configuration.getClientSecretCredential();
        if (clientSecretCredential == null) {
            LOG.trace("Using client id, client secret, tenant id to instantiate service client");
            clientSecretCredential = new ClientSecretCredentialBuilder()
                    .clientId(configuration.getClientId())
                    .clientSecret(configuration.getClientSecret())
                    .tenantId(configuration.getTenantId())
                    .build();
        } else {
            LOG.trace("Using configured client secret instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(clientSecretCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #1398 Negative (Non-Clone)
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1108_943
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-functiongraph/src/main/java/org/apache/camel/FunctionGraphEndpoint.java
Name: org.apache.camel.FunctionGraphEndpoint.initClient()
    public FunctionGraphClient initClient() {
        if (functionGraphClient != null) {
            return functionGraphClient;
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(FunctionGraphRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #1399 Negative (Non-Clone)
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
ID: 3203_2466
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withConfigurations(String configurations)
    public MainConfigurationProperties withConfigurations(String configurations) {
        if (this.configurationClasses == null) {
            this.configurationClasses = "";
        }
        if (this.configurationClasses.isEmpty()) {
            this.configurationClasses = configurations;
        } else {
            this.configurationClasses = "," + configurations;
        }
        return this;
    }
Pair #1400 Negative (Non-Clone)
ID: 3167_2431
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        this.sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
ID: 376_410
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, String replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            String replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
Pair #1401 Negative (Non-Clone)
ID: 1876_1550
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getCeOverrides()
    public Map<String, String> getCeOverrides() {
        Map<String, String> answer = new HashMap<>();
        if (this.ceOverrides != null) {
            answer.putAll(this.ceOverrides);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_CE_OVERRIDE_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_CE_OVERRIDE_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 2507_2057
ClassID: 2507
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf)
    protected static AnnotationSpec yamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf) {
        AnnotationSpec.Builder builder = AnnotationSpec.builder(CN_YAML_PROPERTY);
        builder.addMember("name", "$S", name);
        builder.addMember("type", "$S", type);
        if (required) {
            builder.addMember("required", "$L", required);
        }
        if (deprecated) {
            builder.addMember("deprecated", "$L", deprecated);
        }
        if (!Strings.isNullOrEmpty(oneOf)) {
            builder.addMember("oneOf", "$S", oneOf);
        }

        return builder.build();
    }
Pair #1402 Negative (Non-Clone)
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 3269_2637
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy)
    private static void invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy) {
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onBeforeRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onBeforeRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onBeforeRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #1403 Negative (Non-Clone)
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
ID: 3278_2658
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualTo(final Expression left, final Expression right)
    public static Predicate isEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "==";
            }
        };
    }
Pair #1404 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 1314_1214
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doCreateOrUpdateConfigMap(Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation)
    private void doCreateOrUpdateConfigMap(
            Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HashMap<String, String> configMapData
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
        HashMap<String, String> configMapAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("{} a specific configMap require specify a configMap name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a configMap name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific configMap require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(configMapData)) {
            LOG.error("{} a specific configMap require specify a data map", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a data map", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapBuilder cfMapCreating = new ConfigMapBuilder();
        if (ObjectHelper.isEmpty(configMapAnnotations)) {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).endMetadata().withData(configMapData);
        } else {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).withAnnotations(configMapAnnotations)
                    .endMetadata().withData(configMapData);
        }
        ConfigMap configMap
                = operation.apply(
                        getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName)
                                .resource(cfMapCreating.build()));

        prepareOutboundMessage(exchange, configMap);
    }
Pair #1405 Negative (Non-Clone)
ID: 1308_1162
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.run()
        public void run() {
            FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> client
                        = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Resource<ConfigMap>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 410_441
ClassID: 410
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
Pair #1406 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #1407 Negative (Non-Clone)
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #1408 Negative (Non-Clone)
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #1409 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1410 Negative (Non-Clone)
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
Pair #1411 Negative (Non-Clone)
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #1412 Negative (Non-Clone)
ID: 2521_2077
ClassID: 2521
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/NettyHttpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.NettyHttpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "configuration": ((NettyHttpComponent) component).setConfiguration((org.apache.camel.component.netty.NettyConfiguration) value); return true;
            case "disconnect": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnect((boolean) value); return true;
            case "keepAlive": getOrCreateConfiguration((NettyHttpComponent) component).setKeepAlive((boolean) value); return true;
            case "reuseAddress": getOrCreateConfiguration((NettyHttpComponent) component).setReuseAddress((boolean) value); return true;
            case "reuseChannel": getOrCreateConfiguration((NettyHttpComponent) component).setReuseChannel((boolean) value); return true;
            case "sync": getOrCreateConfiguration((NettyHttpComponent) component).setSync((boolean) value); return true;
            case "tcpNoDelay": getOrCreateConfiguration((NettyHttpComponent) component).setTcpNoDelay((boolean) value); return true;
            case "networkInterface": getOrCreateConfiguration((NettyHttpComponent) component).setNetworkInterface((java.lang.String) value); return true;
            case "bridgeErrorHandler": ((NettyHttpComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "clientMode": getOrCreateConfiguration((NettyHttpComponent) component).setClientMode((boolean) value); return true;
            case "muteException": ((NettyHttpComponent) component).setMuteException((boolean) value); return true;
            case "reconnect": getOrCreateConfiguration((NettyHttpComponent) component).setReconnect((boolean) value); return true;
            case "reconnectInterval": getOrCreateConfiguration((NettyHttpComponent) component).setReconnectInterval((int) value); return true;
            case "backlog": getOrCreateConfiguration((NettyHttpComponent) component).setBacklog((int) value); return true;
            case "bossCount": getOrCreateConfiguration((NettyHttpComponent) component).setBossCount((int) value); return true;
            case "bossGroup": getOrCreateConfiguration((NettyHttpComponent) component).setBossGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "broadcast": getOrCreateConfiguration((NettyHttpComponent) component).setBroadcast((boolean) value); return true;
            case "disconnectOnNoReply": getOrCreateConfiguration((NettyHttpComponent) component).setDisconnectOnNoReply((boolean) value); return true;
            case "executorService": ((NettyHttpComponent) component).setExecutorService((io.netty.util.concurrent.EventExecutorGroup) value); return true;
            case "maximumPoolSize": ((NettyHttpComponent) component).setMaximumPoolSize((int) value); return true;
            case "nettyServerBootstrapFactory": getOrCreateConfiguration((NettyHttpComponent) component).setNettyServerBootstrapFactory((org.apache.camel.component.netty.NettyServerBootstrapFactory) value); return true;
            case "noReplyLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setNoReplyLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverClosedChannelExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerClosedChannelExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverExceptionCaughtLogLevel": getOrCreateConfiguration((NettyHttpComponent) component).setServerExceptionCaughtLogLevel((org.apache.camel.LoggingLevel) value); return true;
            case "serverInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setServerInitializerFactory((org.apache.camel.component.netty.ServerInitializerFactory) value); return true;
            case "usingExecutorService": getOrCreateConfiguration((NettyHttpComponent) component).setUsingExecutorService((boolean) value); return true;
            case "connectTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setConnectTimeout((int) value); return true;
            case "lazyStartProducer": ((NettyHttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "requestTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setRequestTimeout((long) value); return true;
            case "clientInitializerFactory": getOrCreateConfiguration((NettyHttpComponent) component).setClientInitializerFactory((org.apache.camel.component.netty.ClientInitializerFactory) value); return true;
            case "correlationManager": getOrCreateConfiguration((NettyHttpComponent) component).setCorrelationManager((org.apache.camel.component.netty.NettyCamelStateCorrelationManager) value); return true;
            case "lazyChannelCreation": getOrCreateConfiguration((NettyHttpComponent) component).setLazyChannelCreation((boolean) value); return true;
            case "producerPoolBlockWhenExhausted": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolBlockWhenExhausted((boolean) value); return true;
            case "producerPoolEnabled": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolEnabled((boolean) value); return true;
            case "producerPoolMaxIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxIdle((int) value); return true;
            case "producerPoolMaxTotal": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxTotal((int) value); return true;
            case "producerPoolMaxWait": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMaxWait((long) value); return true;
            case "producerPoolMinEvictableIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinEvictableIdle((long) value); return true;
            case "producerPoolMinIdle": getOrCreateConfiguration((NettyHttpComponent) component).setProducerPoolMinIdle((int) value); return true;
            case "udpConnectionlessSending": getOrCreateConfiguration((NettyHttpComponent) component).setUdpConnectionlessSending((boolean) value); return true;
            case "useByteBuf": getOrCreateConfiguration((NettyHttpComponent) component).setUseByteBuf((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "autowiredEnabled": ((NettyHttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "channelGroup": getOrCreateConfiguration((NettyHttpComponent) component).setChannelGroup((io.netty.channel.group.ChannelGroup) value); return true;
            case "headerFilterStrategy": ((NettyHttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nativeTransport": getOrCreateConfiguration((NettyHttpComponent) component).setNativeTransport((boolean) value); return true;
            case "nettyHttpBinding": ((NettyHttpComponent) component).setNettyHttpBinding((org.apache.camel.component.netty.http.NettyHttpBinding) value); return true;
            case "options": getOrCreateConfiguration((NettyHttpComponent) component).setOptions((java.util.Map) value); return true;
            case "receiveBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSize((int) value); return true;
            case "receiveBufferSizePredictor": getOrCreateConfiguration((NettyHttpComponent) component).setReceiveBufferSizePredictor((int) value); return true;
            case "sendBufferSize": getOrCreateConfiguration((NettyHttpComponent) component).setSendBufferSize((int) value); return true;
            case "shutdownTimeout": getOrCreateConfiguration((NettyHttpComponent) component).setShutdownTimeout((int) value); return true;
            case "transferExchange": getOrCreateConfiguration((NettyHttpComponent) component).setTransferExchange((boolean) value); return true;
            case "udpByteArrayCodec": getOrCreateConfiguration((NettyHttpComponent) component).setUdpByteArrayCodec((boolean) value); return true;
            case "unixDomainSocketPath": getOrCreateConfiguration((NettyHttpComponent) component).setUnixDomainSocketPath((java.lang.String) value); return true;
            case "workerCount": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerCount((int) value); return true;
            case "workerGroup": getOrCreateConfiguration((NettyHttpComponent) component).setWorkerGroup((io.netty.channel.EventLoopGroup) value); return true;
            case "allowDefaultCodec": getOrCreateConfiguration((NettyHttpComponent) component).setAllowDefaultCodec((boolean) value); return true;
            case "autoAppendDelimiter": getOrCreateConfiguration((NettyHttpComponent) component).setAutoAppendDelimiter((boolean) value); return true;
            case "decoderMaxLineLength": getOrCreateConfiguration((NettyHttpComponent) component).setDecoderMaxLineLength((int) value); return true;
            case "decoders": getOrCreateConfiguration((NettyHttpComponent) component).setDecoders((java.lang.String) value); return true;
            case "delimiter": getOrCreateConfiguration((NettyHttpComponent) component).setDelimiter((org.apache.camel.component.netty.TextLineDelimiter) value); return true;
            case "encoders": getOrCreateConfiguration((NettyHttpComponent) component).setEncoders((java.lang.String) value); return true;
            case "encoding": getOrCreateConfiguration((NettyHttpComponent) component).setEncoding((java.lang.String) value); return true;
            case "textline": getOrCreateConfiguration((NettyHttpComponent) component).setTextline((boolean) value); return true;
            case "enabledProtocols": getOrCreateConfiguration((NettyHttpComponent) component).setEnabledProtocols((java.lang.String) value); return true;
            case "hostnameVerification": getOrCreateConfiguration((NettyHttpComponent) component).setHostnameVerification((boolean) value); return true;
            case "keyStoreFormat": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreFormat((java.lang.String) value); return true;
            case "keyStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setKeyStoreResource((java.lang.String) value); return true;
            case "needClientAuth": getOrCreateConfiguration((NettyHttpComponent) component).setNeedClientAuth((boolean) value); return true;
            case "passphrase": getOrCreateConfiguration((NettyHttpComponent) component).setPassphrase((java.lang.String) value); return true;
            case "securityConfiguration": ((NettyHttpComponent) component).setSecurityConfiguration((org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration) value); return true;
            case "securityProvider": getOrCreateConfiguration((NettyHttpComponent) component).setSecurityProvider((java.lang.String) value); return true;
            case "ssl": getOrCreateConfiguration((NettyHttpComponent) component).setSsl((boolean) value); return true;
            case "sslClientCertHeaders": getOrCreateConfiguration((NettyHttpComponent) component).setSslClientCertHeaders((boolean) value); return true;
            case "sslContextParameters": getOrCreateConfiguration((NettyHttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "sslHandler": getOrCreateConfiguration((NettyHttpComponent) component).setSslHandler((io.netty.handler.ssl.SslHandler) value); return true;
            case "trustStoreResource": getOrCreateConfiguration((NettyHttpComponent) component).setTrustStoreResource((java.lang.String) value); return true;
            case "useGlobalSslContextParameters": ((NettyHttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            default: return false;
            }
        }
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #1413 Negative (Non-Clone)
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #1414 Negative (Non-Clone)
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #1415 Negative (Non-Clone)
ID: 103_73
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRealm(Keycloak keycloakClient, Exchange exchange)
    private void updateRealm(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RealmRepresentation) {
                keycloakClient.realm(realmName).update((RealmRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Realm updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update realm requires POJO request with RealmRepresentation");
        }
    }
ID: 3227_2520
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createOrExpression(final Expression leftExp, final Expression rightExp)
    private Expression createOrExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.or(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #1416 Negative (Non-Clone)
ID: 1316_1218
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doScaleReplicationController(Exchange exchange)
    protected void doScaleReplicationController(Exchange exchange) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("Scale a specific replication controller require specify a replication controller name");
            throw new IllegalArgumentException(
                    "Scale a specific replication controller require specify a replication controller name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific replication controller require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific replication controller require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a replicas number");
        }
        ReplicationController rcScaled = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                .withName(rcName).scale(replicasNumber);

        prepareOutboundMessage(exchange, rcScaled.getStatus().getReplicas());
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #1417 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1418 Negative (Non-Clone)
ID: 3297_2708
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheck(CamelContext context, String id)
    public static HealthCheck getHealthCheck(CamelContext context, String id) {
        HealthCheck answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheck> check = hcr.getCheck(id);
            if (check.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheck hc = resolver.resolveHealthCheck(id);
                if (hc != null) {
                    check = Optional.of(hc);
                    hcr.register(hc);
                }
            }
            if (check.isPresent()) {
                answer = check.get();
            }
        }
        return answer;
    }
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
Pair #1419 Negative (Non-Clone)
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1420 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1421 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 2583_2181
ClassID: 2583
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/OwbGenericArrayTypeImpl.java
Name: org.apache.camel.maven.packaging.generics.OwbGenericArrayTypeImpl.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof GenericArrayType) {
            return ((GenericArrayType) obj).getGenericComponentType().equals(componentType);
        } else {
            return false;
        }

    }
Pair #1422 Negative (Non-Clone)
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #1423 Negative (Non-Clone)
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
Pair #1424 Negative (Non-Clone)
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #1425 Negative (Non-Clone)
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 23_33
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1426 Negative (Non-Clone)
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #1427 Negative (Non-Clone)
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #1428 Negative (Non-Clone)
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
Pair #1429 Negative (Non-Clone)
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #1430 Negative (Non-Clone)
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #1431 Negative (Non-Clone)
ID: 2658_2330
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
Name: org.apache.camel.processor.SetHeaderProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newHeader = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

            String key = headerName.evaluate(exchange, String.class);
            old.setHeader(key, newHeader);

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1432 Negative (Non-Clone)
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
ID: 1573_1384
ClassID: 1573
File: systems/camel-java/components/camel-hl7/src/generated/java/org/apache/camel/component/hl7/HL7ConverterLoader.java
Name: org.apache.camel.component.hl7.HL7ConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toByteArray((ca.uhn.hl7v2.model.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, byte[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((byte[]) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, ca.uhn.hl7v2.model.Message.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, ca.uhn.hl7v2.model.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.hl7.HL7Converter.toString((ca.uhn.hl7v2.model.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1433 Negative (Non-Clone)
ID: 483_508
ClassID: 483
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation)
    public static boolean hasAnnotation(Class<?> cls, Class<? extends Annotation> annotation) {
        if (cls == null || cls == Object.class) {
            return false;
        }

        if (null != cls.getAnnotation(annotation)) {
            return true;
        }

        for (Class<?> interfaceClass : cls.getInterfaces()) {
            if (null != interfaceClass.getAnnotation(annotation)) {
                return true;
            }
        }
        return hasAnnotation(cls.getSuperclass(), annotation);
    }
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #1434 Negative (Non-Clone)
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #1435 Negative (Non-Clone)
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
Pair #1436 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #1437 Negative (Non-Clone)
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #1438 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 2650_2311
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.predecessor(E e)
    public E predecessor(E e) {
        E elem = lower(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().predecessor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #1439 Negative (Non-Clone)
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
Pair #1440 Negative (Non-Clone)
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 977_825
ClassID: 977
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.marshallExchange(Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
    public void marshallExchange(
            Exchange exchange, boolean allowSerializedHeaders, OutputStream outputStream)
            throws IOException {
         
        DefaultExchangeHolder pe = DefaultExchangeHolder.marshal(exchange, false, allowSerializedHeaders);
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_SIZE,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_SIZE, Integer.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_TIMEOUT,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_TIMEOUT, Long.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COMPLETED_BY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_CORRELATION_KEY,
                exchange.getProperty(ExchangePropertyKey.AGGREGATED_CORRELATION_KEY, String.class));
         
        DefaultExchangeHolder.addProperty(pe, Exchange.AGGREGATED_COLLECTION_GUARD,
                exchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, String.class));
         
        if (exchange.getFromEndpoint() != null) {
            DefaultExchangeHolder.addProperty(pe, "CamelAggregatedFromEndpoint", exchange.getFromEndpoint().getEndpointUri());
        }
        encode(pe, outputStream);
    }
Pair #1441 Negative (Non-Clone)
ID: 2540_2116
ClassID: 2540
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/CatalogHelper.java
Name: org.apache.camel.catalog.common.CatalogHelper.findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project)
    public static void findXmlRouters(Set<File> xmlFiles, boolean includeXml, boolean includeTest, MavenProject project) {
        if (includeXml) {
            for (Resource dir : project.getResources()) {
                findXmlFiles(new File(dir.getDirectory()), xmlFiles);
            }
            if (includeTest) {
                for (Resource dir : project.getTestResources()) {
                    findXmlFiles(new File(dir.getDirectory()), xmlFiles);
                }
            }
        }
    }
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
Pair #1442 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
Pair #1443 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #1444 Negative (Non-Clone)
ID: 1308_1157
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.run()
        public void run() {
            FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().services().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Service, ServiceList, ServiceResource<Service>> client
                        = getEndpoint().getKubernetesClient().services().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
Pair #1445 Negative (Non-Clone)
ID: 2658_2331
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int headerIndex = 0;
            for (Expression expression : expressions) {
                Object newHeader = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                Message message = exchange.getMessage();
                String key = headerNames.get(headerIndex++).evaluate(exchange, String.class);
                message.setHeader(key, newHeader);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
Pair #1446 Negative (Non-Clone)
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #1447 Negative (Non-Clone)
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #1448 Negative (Non-Clone)
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 305_369
ClassID: 305
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        if (path == null) {
            LOG.warn("The provided path is null and has no parameters to be evaluated");
            return Collections.emptyList();
        }

        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #1449 Negative (Non-Clone)
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #1450 Negative (Non-Clone)
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
ID: 2269_1789
ClassID: 2269
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createQueryFactory()
    protected QueryFactory createQueryFactory() {
        if (query != null) {
            return QueryBuilder.query(query);
        } else if (namedQuery != null) {
            return QueryBuilder.namedQuery(namedQuery);
        } else if (nativeQuery != null) {
            if (resultClass != null) {
                return QueryBuilder.nativeQuery(nativeQuery, resultClass);
            } else {
                return QueryBuilder.nativeQuery(nativeQuery);
            }
        } else {
            Class<?> entityType = getEndpoint().getEntityType();

            if (entityType == null) {
                return null;
            } else {
                 
                String name = getEntityName(entityType);
                if (name != null) {
                    return QueryBuilder.query("select x from " + name + " x");
                } else {
                     
                    return QueryBuilder.query("select x from " + entityType.getSimpleName() + " x");
                }
            }
        }
    }
Pair #1451 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 1994_1637
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = endpoint.createExchange(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
Pair #1452 Negative (Non-Clone)
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #1453 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #1454 Negative (Non-Clone)
ID: 1256_1102
ClassID: 1256
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 3229_2527
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.uppercaseExpression(final String expression)
    public static Expression uppercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toUpperCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "uppercase(" + expression + ")";
                } else {
                    return "uppercase()";
                }
            }
        };
    }
Pair #1455 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 25_40
ClassID: 25
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
Pair #1456 Negative (Non-Clone)
ID: 3174_2446
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors)
    public String dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> processors = new ArrayList<>();
            if (includeProcessors) {
                 
                query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName on : names) {
                    ManagedProcessorMBean processor = context.getManagementStrategy().getManagementAgent().newProxyClient(on,
                            ManagedProcessorMBean.class);
                    processors.add(processor);
                }
            }
            processors.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                if (includeProcessors) {
                    sb.append("      <processorStats>\n");
                    for (ManagedProcessorMBean processor : processors) {
                        int line = processor.getSourceLineNumber() != null ? processor.getSourceLineNumber() : -1;
                         
                        if (route.getRouteId().equals(processor.getRouteId())) {
                            sb.append("        <processorStat")
                                    .append(String.format(
                                            " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                            processor.getProcessorId(), processor.getIndex(), processor.getState(),
                                            processor.getDisabled(), line));
                             
                            stat = processor.dumpStatsAsXml(fullStats);
                            sb.append(" exchangesInflight=\"").append(processor.getExchangesInflight()).append("\"");
                            sb.append(" ").append(stat, 7, stat.length()).append("\n");
                        }
                    }
                    sb.append("      </processorStats>\n");
                }
                sb.append("    </routeStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1457 Negative (Non-Clone)
ID: 176_156
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void abortJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.ABORTED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #1458 Negative (Non-Clone)
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
ID: 3230_2529
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameExpression()
    public static Expression fileNameExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
            }

            @Override
            public String toString() {
                return "file:name";
            }
        };
    }
Pair #1459 Negative (Non-Clone)
ID: 2598_2215
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnum(final String key)
    public <T extends Enum<T>> T getEnum(final String key) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        value = this.getStringOrDefault(key, "");
        if (value == null) {
            return null;
        }
         
        splitValues = value.split("\\.");
        numberOfSplitValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfSplitValues; i++) {
            if (i == (numberOfSplitValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfSplitValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
ID: 1138_979
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            this.lastSha = exchange.getMessage().getHeader(GitHubConstants.GITHUB_COMMIT_SHA, String.class);
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #1460 Negative (Non-Clone)
ID: 1783_1464
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.disconnect(HttpConsumer consumer)
    public void disconnect(HttpConsumer consumer) throws Exception {
         
        HttpCommonEndpoint endpoint = consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.computeIfPresent(connectorKey, (cKey, connectorRef) -> {
                try {
                    return disconnect(consumer, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1461 Negative (Non-Clone)
ID: 557_537
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Statement stmt)
    private void closeQuietly(Statement stmt) {
        if (stmt != null) {
            try {
                if (!stmt.isClosed()) {
                    stmt.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing statement", sqle);
            }
        }
    }
ID: 2609_2242
ClassID: 2609
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        ObjectHelper.notNull(clazz, "Class must not be null");
        ObjectHelper.notNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #1462 Negative (Non-Clone)
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
ID: 2048_1665
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotent(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotent(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRepositoryReadLockStrategy readLockStrategy = new FileIdempotentRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #1463 Negative (Non-Clone)
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #1464 Negative (Non-Clone)
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
Pair #1465 Negative (Non-Clone)
ID: 900_771
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/BatchGoogleCalendarClientFactory.java
Name: org.apache.camel.component.google.calendar.BatchGoogleCalendarClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Calendar makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Calendar client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Calendar.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Calendar client.", e);
        }
    }
ID: 1062_916
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerClaimedRoles(List<String> signerClaimedRoles)
    public void setSignerClaimedRoles(List<String> signerClaimedRoles) {
        if (signerClaimedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerClaimedRoles' is null");
        }
        for (String role : signerClaimedRoles) {
            if (role == null || role.isEmpty()) {
                throw new IllegalArgumentException("At least one of the signer claimed roles is null or empty");
            }
        }
        this.signerClaimedRoles = new ArrayList<>(signerClaimedRoles);
    }
Pair #1466 Negative (Non-Clone)
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #1467 Negative (Non-Clone)
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1468 Negative (Non-Clone)
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
ID: 714_651
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/SetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                 
                LOG.debug("OpenTelemetry: Cannot find managed span for Exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #1469 Negative (Non-Clone)
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
ID: 910_790
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            UpdateFunctionRequest request = exchange.getIn().getMandatoryBody(UpdateFunctionRequest.class);
            response = client.updateFunctionAsync(request).get();
        } else {
            throw new IllegalArgumentException("updateFunction is supported only in pojo mode");
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #1470 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
Pair #1471 Negative (Non-Clone)
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #1472 Negative (Non-Clone)
ID: 3233_2550
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseExpression()
    public Expression parseExpression() {
        try {
            parseTokens();
            return doParseExpression();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #1473 Negative (Non-Clone)
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1474 Negative (Non-Clone)
ID: 233_283
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareDirectoryClient dirClient)
    private boolean existsRemote(ShareDirectoryClient dirClient) {
        try {
            return Boolean.TRUE.equals(
                    dirClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
ID: 3230_2541
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.filePathExpression()
    public static Expression filePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFilePath", String.class);
            }

            @Override
            public String toString() {
                return "file:path";
            }
        };
    }
Pair #1475 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #1476 Negative (Non-Clone)
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
ID: 3099_2373
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientRequestValidation(boolean clientRequestValidation)
    public RestDefinition clientRequestValidation(boolean clientRequestValidation) {
        if (getVerbs().isEmpty()) {
            this.clientRequestValidation = Boolean.toString(clientRequestValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientRequestValidation(Boolean.toString(clientRequestValidation));
        }

        return this;
    }
Pair #1477 Negative (Non-Clone)
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #1478 Negative (Non-Clone)
ID: 3212_2488
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max)
    private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

         
        includeProcessorsJSon(getCamelContext(), arr, max, mps);
    }
ID: 2640_2286
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withHeader(String key, Object value)
    public FluentProducerTemplate withHeader(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withHeader and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.headers;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.headers = map;
        }
        map.put(key, value);
        return clone;
    }
Pair #1479 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #1480 Negative (Non-Clone)
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #1481 Negative (Non-Clone)
ID: 2177_1713
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
Pair #1482 Negative (Non-Clone)
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #1483 Negative (Non-Clone)
ID: 765_686
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorBucketName(Exchange exchange)
    private String determineVectorBucketName(Exchange exchange) {
        String vectorBucketName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_BUCKET_NAME, String.class);
        if (vectorBucketName == null) {
            vectorBucketName = getConfiguration().getVectorBucketName();
        }
        if (vectorBucketName == null) {
            throw new IllegalArgumentException("Vector bucket name must be specified");
        }
        return vectorBucketName;
    }
ID: 1130_962
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.addConsumer(String key, DirectConsumer consumer)
    public void addConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            if (consumers.putIfAbsent(key, consumer) != null) {
                throw new IllegalArgumentException(
                        "Cannot add a 2nd consumer to the same endpoint: " + key
                                                   + ". DirectEndpoint only allows one consumer.");
            }
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #1484 Negative (Non-Clone)
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1485 Negative (Non-Clone)
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 1254_1097
ClassID: 1254
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #1486 Negative (Non-Clone)
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #1487 Negative (Non-Clone)
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #1488 Negative (Non-Clone)
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
Pair #1489 Negative (Non-Clone)
ID: 2665_2347
ClassID: 2665
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
Pair #1490 Negative (Non-Clone)
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #1491 Negative (Non-Clone)
ID: 1253_1093
ClassID: 1253
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
        String uri = parseString(definition.getDeadLetterUri());
        ObjectHelper.notNull(uri, "deadLetterUri", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);

        Processor deadLetterProcessor = createDeadLetterChannelProcessor(uri);

        DeadLetterChannel answer = new DeadLetterChannel(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy, deadLetterProcessor, uri,
                parseBoolean(definition.getDeadLetterHandleNewException(), true),
                parseBoolean(definition.getUseOriginalMessage(), false),
                parseBoolean(definition.getUseOriginalBody(), false),
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                getProcessor(definition.getOnPrepareFailureProcessor(), definition.getOnPrepareFailureRef()),
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #1492 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 2456_1953
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createMavenPom(Path settings, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("templates/" + pomTemplateName);
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        String mp = prop.getProperty("quarkus.management.port");
        if (mp == null) {
            mp = "9876";
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceAll("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.QuarkusManagementPort }}", mp);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
             
            if ("camel-quarkus-core".equals(gav.getArtifactId())
                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
                continue;
            }
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(pom, context);
    }
Pair #1493 Negative (Non-Clone)
ID: 2249_1778
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutIfAbsentAsync(Message message)
    public void onPutIfAbsentAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putIfAbsentAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putIfAbsentAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putIfAbsentAsync(key, value);
        }

        setResult(message, result);
    }
ID: 1888_1559
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
Pair #1494 Negative (Non-Clone)
ID: 337_380
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.autoCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult autoCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
        CommitSynchronization commitSynchronization = new CommitSynchronization(exceptionHandler, exchanges.size());
        exchange.getExchangeExtension().addOnCompletion(commitSynchronization);
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
             
             
            if (configuration.isBreakOnFirstError()) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
             
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 1558_1379
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1495 Negative (Non-Clone)
ID: 640_572
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Put.java
Name: org.apache.camel.component.dhis2.api.Dhis2Put.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PutOperation putOperation = dhis2Client.put(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        putOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    putOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            putOperation.withResource(resource);
        }

        return putOperation.transfer().read();
    }
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #1496 Negative (Non-Clone)
ID: 1105_936
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to get group users");
        }

         
        KeystoneListUsersForGroupByAdminRequest request = new KeystoneListUsersForGroupByAdminRequest()
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneListUsersForGroupByAdminResponse response = iamClient.keystoneListUsersForGroupByAdmin(request);
        exchange.getMessage().setBody(gson.toJson(response.getUsers()));
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1497 Negative (Non-Clone)
ID: 1311_1197
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doListPodsByLabel(Exchange exchange)
    protected void doListPodsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        PodList podList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get pods by labels require specify a labels set");
            throw new IllegalArgumentException("Get pods by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().withLabels(labels).list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
Pair #1498 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #1499 Negative (Non-Clone)
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #1500 Negative (Non-Clone)
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
ID: 1122_953
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/models/OBSRegion.java
Name: org.apache.camel.component.huaweicloud.obs.models.OBSRegion.valueOf(String regionId)
    public static String valueOf(String regionId) {
        if (ObjectHelper.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            String endpoint = REGIONS.get(regionId.toLowerCase());
            if (ObjectHelper.isNotEmpty(endpoint)) {
                return endpoint;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
Pair #1501 Negative (Non-Clone)
ID: 3228_2522
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.skipExpression(final String expression, final int number)
    public static Expression skipExpression(final String expression, final int number) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return skipIteratorExpression(exp, number).evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "skip(" + expression + "," + number + ")";
            }
        };
    }
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
Pair #1502 Negative (Non-Clone)
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #1503 Negative (Non-Clone)
ID: 3285_2681
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, String message)
    public void process(Exchange exchange, String message) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange) + message;
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output);
            closeListeners(exchange, output);
        }
    }
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #1504 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #1505 Negative (Non-Clone)
ID: 2026_1646
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getUsernameFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object user = props.get("user");
        if (user == null) {
            user = props.get("username");
        }
        if (user == null) {
            user = props.get("userName");
        }
        if (user != null) {
            return user.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getUsernameFromConnectionFactory(bi, ncf);
            }
        }
        return artemisUsername(cf);
    }
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #1506 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2648_2306
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onLanguageCreated(String name, Language language)
    public void onLanguageCreated(String name, Language language) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<LanguageCustomizer.Policy> filters = registry.findByType(LanguageCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, language))) {
            registry.findByType(LanguageCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, language))
                    .forEach(customizer -> customizer.configure(name, language));
        }
    }
Pair #1507 Negative (Non-Clone)
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
ID: 3238_2562
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/TransformerReifier.java
Name: org.apache.camel.reifier.transformer.TransformerReifier.coreReifier(CamelContext camelContext, TransformerDefinition definition)
    private static TransformerReifier<? extends TransformerDefinition> coreReifier(
            CamelContext camelContext, TransformerDefinition definition) {
        if (definition instanceof CustomTransformerDefinition) {
            return new CustomTransformerReifier(camelContext, definition);
        } else if (definition instanceof DataFormatTransformerDefinition) {
            return new DataFormatTransformerReifier(camelContext, definition);
        } else if (definition instanceof EndpointTransformerDefinition) {
            return new EndpointTransformerReifier(camelContext, definition);
        } else if (definition instanceof LoadTransformerDefinition) {
            return new LoadTransformerReifier(camelContext, definition);
        }
        return null;
    }
Pair #1508 Negative (Non-Clone)
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
ID: 1478_1317
ClassID: 1478
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Mono.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #1509 Negative (Non-Clone)
ID: 3226_2517
ClassID: 3226
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes)
    private static String[] codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(256);

        int codeLevel = 0;
        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

             
            if (input.indexOf(BaseSimpleParser.CODE_START, i) == i) {
                codeLevel++;
                sb.append(BaseSimpleParser.CODE_START);
                i = i + BaseSimpleParser.CODE_START.length() - 1;
                continue;
            } else if (input.indexOf(BaseSimpleParser.CODE_END, i) == i) {
                codeLevel--;
                sb.append(BaseSimpleParser.CODE_END);
                i = i + BaseSimpleParser.CODE_END.length() - 1;
                continue;
            }
            if (codeLevel > 0) {
                sb.append(ch);
                continue;
            }

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #1510 Negative (Non-Clone)
ID: 1788_1467
ClassID: 1788
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        Reader reader = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
             
            reader = new XmlStreamReader(in);
            return createIterator(reader);
        } catch (Exception e) {
            exchange.setException(e);
             
            IOHelper.close(in, reader);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in, reader);
            }
        }
    }
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
Pair #1511 Negative (Non-Clone)
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
ID: 2671_2361
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfAllGroups()
    public int forceDiscardingOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force discarding of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         
                        onCompletion(key, exchange, exchange, false, true);
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force discarding of all groups task");

        if (total > 0) {
            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #1512 Negative (Non-Clone)
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
Pair #1513 Negative (Non-Clone)
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
Pair #1514 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 2637_2273
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBodyNoWait(String endpointUri, Class<T> type)
    public <T> T receiveBodyNoWait(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receiveNoWait(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #1515 Negative (Non-Clone)
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #1516 Negative (Non-Clone)
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 1087_928
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopServer()
    protected void stopServer() {
        if (this.server == null) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                         
                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);

                        server.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.info("Vert.x HttpServer stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.server = null;
        }
    }
Pair #1517 Negative (Non-Clone)
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
ID: 2258_1784
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/collection/FindCollectionOperation.java
Name: org.apache.camel.component.nitrite.operation.collection.FindCollectionOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        NitriteCollection collection = (NitriteCollection) endpoint.getNitriteCollection();
        if (filter != null && findOptions != null) {
            exchange.getMessage().setBody(collection.find(filter, findOptions));
        } else if (filter != null) {
            exchange.getMessage().setBody(collection.find(filter));
        } else {
            exchange.getMessage().setBody(collection.find());
        }

    }
Pair #1518 Negative (Non-Clone)
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1519 Negative (Non-Clone)
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
ID: 1861_1526
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #1520 Negative (Non-Clone)
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 1035_888
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addExactPath(final String path, final HttpHandler handler)
    public PathHandler addExactPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addExactPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1521 Negative (Non-Clone)
ID: 2472_2006
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("services");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("services");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.component = jo.getString("component");
                                    row.direction = jo.getString("direction");
                                    row.hosted = jo.getBooleanOrDefault("hosted", false);
                                    row.protocol = jo.getString("protocol");
                                    row.serviceUrl = jo.getString("serviceUrl");
                                    row.endpointUri = jo.getString("endpointUri");
                                    row.hits = jo.getLongOrDefault("hits", 0);
                                    row.routeId = jo.getString("routeId");
                                    row.metadata = jo.getMap("metadata");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("COMPONENT").dataAlign(HorizontalAlign.LEFT).with(r -> r.component),
                    new Column().header("DIR").dataAlign(HorizontalAlign.LEFT).with(r -> r.direction),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).with(this::getRouteId),
                    new Column().header("PROTOCOL").dataAlign(HorizontalAlign.LEFT).with(this::getProtocol),
                    new Column().header("SERVICE").dataAlign(HorizontalAlign.LEFT).with(this::getService),
                    new Column().header("METADATA").visible(metadata).dataAlign(HorizontalAlign.LEFT).with(this::getMetadata),
                    new Column().header("TOTAL").dataAlign(HorizontalAlign.RIGHT).with(r -> "" + r.hits),
                    new Column().header("ENDPOINT").visible(!wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(90, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(this::getUri),
                    new Column().header("ENDPOINT").visible(wideUri).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(this::getUri))));
        }

        return 0;
    }
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #1522 Negative (Non-Clone)
ID: 3217_2497
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodFallbackTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodFallbackTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, type, exchange, value, registry) : (T) ObjectHelper
                        .invokeMethod(method, instance, type, value, registry);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1523 Negative (Non-Clone)
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
Pair #1524 Negative (Non-Clone)
ID: 1984_1627
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PromptInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PromptInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionCategory> detectedCategories = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (pattern.getPattern().matcher(text).find()) {
                if (!detectedCategories.contains(pattern.getCategory())) {
                    detectedCategories.add(pattern.getCategory());
                }

                 
                if (strict) {
                    return failure(
                            String.format("Potential prompt injection detected: %s pattern. " +
                                          "Please rephrase your request.",
                                    pattern.getCategory()));
                }
            }
        }

         
        if (detectedCategories.size() >= 2) {
            return failure(
                    String.format("Potential prompt injection detected: multiple suspicious patterns (%s). " +
                                  "Please rephrase your request.",
                            detectedCategories));
        }

        return success();
    }
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #1525 Negative (Non-Clone)
ID: 2325_1830
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
Pair #1526 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
Pair #1527 Negative (Non-Clone)
ID: 412_444
ClassID: 412
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #1528 Negative (Non-Clone)
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1529 Negative (Non-Clone)
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
Pair #1530 Negative (Non-Clone)
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #1531 Negative (Non-Clone)
ID: 244_319
ClassID: 244
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue;
        try {
             
            returnValue = client.retrieveSecret(key, version);

            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (Exception ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #1532 Negative (Non-Clone)
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
ID: 128_121
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
Name: org.apache.camel.processor.ChoiceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (len > 0) {
            answer.addAll(Arrays.asList(filters));
        }
        if (otherwise != null) {
            answer.add(otherwise);
        }
        return answer;
    }
Pair #1533 Negative (Non-Clone)
ID: 2041_1647
ClassID: 2041
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/cluster/FileLockClusterView.java
Name: org.apache.camel.component.file.cluster.FileLockClusterView.closeLockFiles()
    private void closeLockFiles() {
        if (leaderLockFile != null) {
            try {
                leaderLockFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderLockFile = null;
        }

        if (leaderDataFile != null) {
            try {
                leaderDataFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderDataFile = null;
        }
    }
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #1534 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 975_822
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredJdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version, true);

                } catch (Exception e) {
                    throw new RuntimeException(
                            "Error removing key " + correlationId + " from repository " + getRepositoryName(), e);
                }
            }
        });
    }
Pair #1535 Negative (Non-Clone)
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #1536 Negative (Non-Clone)
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #1537 Negative (Non-Clone)
ID: 780_706
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.updateDocument(Exchange exchange)
    private void updateDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        String documentId = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_ID, String.class);
        if (documentId == null) {
            throw new IllegalArgumentException("Document ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Updating document: {} in collection: {}", documentId, collectionId);

        UpdateDocumentOptions options = new UpdateDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .documentId(documentId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.updateDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
    }
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
Pair #1538 Negative (Non-Clone)
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 49_62
ClassID: 49
File: systems/camel-java/components/camel-ai/camel-openai/src/main/java/org/apache/camel/component/openai/OpenAIComponent.java
Name: org.apache.camel.component.openai.OpenAIComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpenAIConfiguration configuration = new OpenAIConfiguration();

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (baseUrl != null) {
            configuration.setBaseUrl(baseUrl);
        }
        if (model != null) {
            configuration.setModel(model);
        }

        OpenAIEndpoint endpoint = new OpenAIEndpoint(uri, this, configuration);
         
        endpoint.setOperation(remaining);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1539 Negative (Non-Clone)
ID: 658_592
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/FlavorsProducer.java
Name: org.apache.camel.component.openstack.nova.producer.FlavorsProducer.messageToFlavor(Message message)
    private org.openstack4j.model.compute.Flavor messageToFlavor(Message message) {
        Flavor flavor = message.getBody(Flavor.class);
        if (flavor == null) {
            Map headers = message.getHeaders();
            FlavorBuilder flavorBuilder = Builders.flavor();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            flavorBuilder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.VCPU)) {
                flavorBuilder.vcpus(message.getHeader(NovaConstants.VCPU, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RAM)) {
                flavorBuilder.ram(message.getHeader(NovaConstants.RAM, Integer.class));
            }

            if (headers.containsKey(NovaConstants.DISK)) {
                flavorBuilder.disk(message.getHeader(NovaConstants.DISK, Integer.class));
            }

            if (headers.containsKey(NovaConstants.SWAP)) {
                flavorBuilder.swap(message.getHeader(NovaConstants.SWAP, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RXTXFACTOR)) {
                flavorBuilder.rxtxFactor(message.getHeader(NovaConstants.RXTXFACTOR, Integer.class));
            }

            flavor = flavorBuilder.build();
        }

        return flavor;
    }
ID: 702_647
ClassID: 702
File: systems/camel-java/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
Name: org.apache.camel.component.splunkhec.SplunkHECEndpoint.provideSSLContext()
    SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
Pair #1540 Negative (Non-Clone)
ID: 640_570
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Post.java
Name: org.apache.camel.component.dhis2.api.Dhis2Post.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PostOperation postOperation = dhis2Client.post(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        postOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    postOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            postOperation.withResource(resource);
        }

        return postOperation.transfer().read();

    }
ID: 1492_1334
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final String namespace, final UUID node)
    public static String nodeValue(final String namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1541 Negative (Non-Clone)
ID: 2051_1670
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnRollback(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1542 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 1719_1433
ClassID: 1719
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
Pair #1543 Negative (Non-Clone)
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #1544 Negative (Non-Clone)
ID: 2640_2287
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariable(String key, Object value)
    public FluentProducerTemplate withVariable(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariable and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #1545 Negative (Non-Clone)
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
Pair #1546 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #1547 Negative (Non-Clone)
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
ID: 3306_2716
ClassID: 3306
File: systems/camel-java/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
Name: org.apache.camel.xml.io.util.XmlStreamReader.XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding)
    public XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding) throws IOException,
                                                                                                      XmlStreamReaderException {
        if (defaultEncoding == null) {
            this.defaultEncoding = staticDefaultEncoding;
        } else {
            this.defaultEncoding = defaultEncoding;
        }
        try {
            doRawStream(is, lenient);
        } catch (final XmlStreamReaderException ex) {
            if (!lenient) {
                throw ex;
            } else {
                doLenientDetection(null, ex);
            }
        }
    }
Pair #1548 Negative (Non-Clone)
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
ID: 3231_2544
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.bodyOgnlExpression(final String name, final String ognl)
    public static Expression bodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body = exchange.getIn().getBody(type);
                if (body != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "bodyOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #1549 Negative (Non-Clone)
ID: 3279_2668
ClassID: 3279
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotNull(final Expression expression)
    public static Predicate isNotNull(final Expression expression) {
        return new BinaryPredicateSupport(expression, ExpressionBuilder.constantExpression(null)) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue != null) {
                     
                    return true;
                }
                 
                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                 
                 
                return "is not";
            }
        };
    }
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #1550 Negative (Non-Clone)
ID: 2480_2031
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.nodePrefixId = o.getString("nodePrefixId");
                            row.processor = o.getString("from");
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                row.total = stats.get("exchangesTotal").toString();
                                Object num = stats.get("remoteExchangesTotal");
                                if (num != null) {
                                    row.totalRemote = num.toString();
                                }
                                row.inflight = stats.get("exchangesInflight").toString();
                                num = stats.get("remoteExchangesInflight");
                                if (num != null) {
                                    row.inflightRemote = num.toString();
                                }
                                row.failed = stats.get("exchangesFailed").toString();
                                num = stats.get("remoteExchangesFailed");
                                if (num != null) {
                                    row.failedRemote = num.toString();
                                }
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add) {
                                rows.add(row);
                                List<JsonObject> list = o.getCollection("processors");
                                if (list != null) {
                                    addProcessors(row, rows, list);
                                }
                            }
                        }
                    }
                });

         
        if (running || filter != null || group != null) {
            rows.removeIf(r -> {
                boolean keep = true;
                if (filter != null) {
                    keep = PatternHelper.matchPatterns(r.processorId, filter);
                }
                if (!keep && filter != null) {
                    for (String f : filter) {
                        if (!keep) {
                            String w = f.endsWith("*") ? f : f + "*";  
                            keep = PatternHelper.matchPattern(r.processor, w);
                        }
                    }
                }
                 
                if (keep && group != null) {
                    keep = PatternHelper.matchPatterns(r.group, group);
                }
                if (keep && running) {
                    keep = "Started".equals(r.state);
                }
                return !keep;
            });
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 685_621
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1551 Negative (Non-Clone)
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #1552 Negative (Non-Clone)
ID: 3277_2657
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(List<Predicate> predicates)
    public static Predicate and(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = and(answer, predicate);
            }
        }
        return answer;
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #1553 Negative (Non-Clone)
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #1554 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #1555 Negative (Non-Clone)
ID: 2339_1841
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 2187_1719
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.createFloatingIp(Exchange exchange)
    private void createFloatingIp(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);
        FloatingIP ip;

        if (ObjectHelper.isNotEmpty(dropletId)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(dropletId);
        } else if (ObjectHelper.isNotEmpty(region)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(region);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.DROPLET_ID + " or " + DigitalOceanHeaders.REGION + " must be specified");
        }

        LOG.trace("FloatingIP [{}] ", ip);
        exchange.getMessage().setBody(ip);
    }
Pair #1556 Negative (Non-Clone)
ID: 1063_921
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlVerifierProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlVerifierProcessor.build()
        XmlSignatureChecker.Input build() {
            return new XmlSignatureChecker.Input() {

                @Override
                public boolean isXmlSchemaValidationExecuted() {
                    return xmlSchemaValidationExecuted;
                }

                @Override
                public int getTotalCountOfSignatures() {
                    return totalCountOfSignatures;
                }

                @Override
                public SignedInfo getSignedInfo() {
                    return signedInfo;
                }

                @Override
                public SignatureValue getSignatureValue() {
                    return signatureValue;
                }

                @Override
                public List<? extends XMLObject> getObjects() {
                    return objects;
                }

                @Override
                public Document getMessageBodyDocument() {
                    return messageBodyDocument;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public Element getCurrentSignatureElement() {
                    return currentSignatureElement;
                }

                @Override
                public int getCurrentCountOfSignatures() {
                    return currentCountOfSignatures;
                }
            };
        }
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #1557 Negative (Non-Clone)
ID: 1086_927
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleEnd()
    private void handleEnd() {
        Handler<Void> endHandler;
        lock.lock();
        try {
            dataHandler = null;
            endHandler = this.endHandler;
        } finally {
            lock.unlock();
        }
        if (endHandler != null) {
            checkContext();
            endHandler.handle(null);
        }
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1558 Negative (Non-Clone)
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #1559 Negative (Non-Clone)
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 701_644
ClassID: 701
File: systems/camel-java/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java
Name: org.apache.camel.component.velocity.VelocityComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        VelocityEndpoint answer = new VelocityEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setVelocityEngine(velocityEngine);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #1560 Negative (Non-Clone)
ID: 1164_999
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.close()
    public void close() throws IOException {
        Subscription subscription;
        lock.lock();
        try {
            subscription = this.subscription;
        } finally {
            lock.unlock();
        }

        if (subscription != null) {
            subscription.cancel();
        }
    }
ID: 1035_888
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addExactPath(final String path, final HttpHandler handler)
    public PathHandler addExactPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addExactPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #1561 Negative (Non-Clone)
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
ID: 2638_2277
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(String endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            String endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #1562 Negative (Non-Clone)
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 188_192
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllQueryJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllQueryJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobsResponseCallback() {
                    @Override
                    public void onResponse(QueryJobs jobs, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #1563 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
Pair #1564 Negative (Non-Clone)
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #1565 Negative (Non-Clone)
ID: 188_199
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
    private void processDeleteQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteQueryJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #1566 Negative (Non-Clone)
ID: 618_559
ClassID: 618
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        ObjectHelper.notNull(operations, PARAM_OPERATIONS);
        ObjectHelper.notNull(file, PARAM_FILE);

        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
ID: 2661_2340
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            long delay = throttlingState.peek().getDelay(TimeUnit.NANOSECONDS);
            asyncExecutor.schedule(() -> process(exchange, callback), delay, TimeUnit.NANOSECONDS);
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #1567 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #1568 Negative (Non-Clone)
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
Pair #1569 Negative (Non-Clone)
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
ID: 1788_1469
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
Pair #1570 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #1571 Negative (Non-Clone)
ID: 2363_1856
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode response = node.get("response");
        if (response != null) {
            JsonNode meta = response.get("meta");
            if (meta != null) {
                JsonNode tokens = meta.get("tokens");
                if (tokens != null) {
                    JsonNode outputTokens = tokens.get("output_tokens");
                    return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
                }
            }
        }
        return null;
    }
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #1572 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 3334_2734
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer)
    public static <T> Supplier<T> memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            try {
                                supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                                valueHolder.lazySet(supplied);
                            } catch (Exception e) {
                                consumer.accept(e);
                            }
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #1573 Negative (Non-Clone)
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 1188_1016
ClassID: 1188
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doNext()
    protected Message doNext() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;
        currentEntry = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #1574 Negative (Non-Clone)
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 3251_2602
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractBaseSSLContextParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractBaseSSLContextParametersFactoryBean.getObject()
    public final T getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstanceInternal();
            }

            return instance;
        } else {
            return createInstanceInternal();
        }
    }
Pair #1575 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 2093_1685
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset)
    private RemoteFile<SftpRemoteFile> asRemoteFile(
            String absolutePath, String absoluteFilePath, SftpRemoteFile file, String charset) {
        RemoteFile<SftpRemoteFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getFilename());
        answer.setFileLength(file.getFileLength());
        answer.setLastModified(file.getLastModified());
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());
        answer.setDirectory(file.isDirectory());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
Pair #1576 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
Pair #1577 Negative (Non-Clone)
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 2247_1771
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryModifiedEvent<?, ?> event)
    public void processEvent(CacheEntryModifiedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getNewValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ENTRY_CREATED, event.isCreated());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                    });
        }
    }
Pair #1578 Negative (Non-Clone)
ID: 240_303
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("configmap")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("configmap");
            if (pf instanceof ConfigMapPropertiesFunction) {
                propertiesFunction = (ConfigMapPropertiesFunction) pf;
            }
        }
        KubernetesConfigMapVaultConfiguration kubernetes
                = getCamelContext().getVaultConfiguration().getKubernetesConfigMapVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            cmRefreshTask = scheduler.getTaskByType(ConfigmapsReloadTriggerTask.class);
        }
    }
ID: 1725_1448
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.getCharsetFromExchange(Exchange exchange)
    public static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(VertxHttpConstants.CONTENT_TYPE, String.class);
            charset = IOHelper.getCharsetNameFromContentType(contentType);
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #1579 Negative (Non-Clone)
ID: 1459_1312
ClassID: 1459
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DeleteTableCommand.java
Name: org.apache.camel.component.aws2.ddb.DeleteTableCommand.execute()
    public void execute() {
        TableDescription tableDescription = ddbClient
                .deleteTable(DeleteTableRequest.builder().tableName(determineTableName()).build()).tableDescription();

        HashMap<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.PROVISIONED_THROUGHPUT, tableDescription.provisionedThroughput());
        tmp.put(Ddb2Constants.CREATION_DATE, tableDescription.creationDateTime());
        tmp.put(Ddb2Constants.ITEM_COUNT, tableDescription.itemCount());
        tmp.put(Ddb2Constants.KEY_SCHEMA, tableDescription.keySchema());
        tmp.put(Ddb2Constants.TABLE_NAME, tableDescription.tableName());
        tmp.put(Ddb2Constants.TABLE_SIZE, tableDescription.tableSizeBytes());
        tmp.put(Ddb2Constants.TABLE_STATUS, tableDescription.tableStatus());
        addToResults(tmp);
    }
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
Pair #1580 Negative (Non-Clone)
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 921_792
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsub.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #1581 Negative (Non-Clone)
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
Pair #1582 Negative (Non-Clone)
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #1583 Negative (Non-Clone)
ID: 2465_1978
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #1584 Negative (Non-Clone)
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
Pair #1585 Negative (Non-Clone)
ID: 1310_1179
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
ID: 2454_1950
ClassID: 2454
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.export()
    public Integer export() throws Exception {
        String[] ids = gav.split(":");
        if (ids.length != 3) {
            printer().printErr("--gav must be in syntax: groupId:artifactId:version");
            return 1;
        }
        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
            printer().printErr("--build-tool must either be maven or gradle, was: " + buildTool);
            return 1;
        }
        if (buildTool.equals("gradle")) {
            printer().println("WARN: --build-tool=gradle is deprecated.");
        }

        exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
        Path profile = exportBaseDir.resolve("application.properties");

         
        Path settings = CommandLineHelper.getWorkDir().resolve(Run.RUN_SETTINGS_FILE);
        if (fresh || !files.isEmpty() || !Files.exists(settings)) {
             
            printer().println("Generating fresh run data");
            int silent = runSilently(ignoreLoadingError, lazyBean, verbose);
            if (silent != 0) {
                return silent;
            }
        } else {
            printer().println("Reusing existing run data");
        }

        printer().println("Exporting as Spring Boot project to: " + exportDir);

         
        Path buildDir = Path.of(BUILD_DIR);
        PathUtils.deleteDirectory(buildDir);
        Files.createDirectories(buildDir);

        Path srcJavaDirRoot = buildDir.resolve("src/main/java");
        String srcPackageName = exportPackageName(ids[0], ids[1], packageName);
        Path srcJavaDir;
        if (srcPackageName == null) {
            srcJavaDir = srcJavaDirRoot;
        } else {
            srcJavaDir = srcJavaDirRoot.resolve(srcPackageName.replace('.', File.separatorChar));
        }
        Files.createDirectories(srcJavaDir);
        Path srcResourcesDir = buildDir.resolve("src/main/resources");
        Files.createDirectories(srcResourcesDir);
        Path srcCamelResourcesDir = buildDir.resolve("src/main/resources/camel");
        Path srcKameletsResourcesDir = buildDir.resolve("src/main/resources/kamelets");
         
        copyApplicationPropertiesFiles(srcResourcesDir);

         
        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
                srcResourcesDir, srcCamelResourcesDir,
                srcKameletsResourcesDir, srcPackageName);

         
        createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
         
        final Set<String> deps = resolveDependencies(settings, profile);
         
        copyLocalLibDependencies(deps);
         
        copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
            if (!hasModeline(settings)) {
                prop.remove("camel.main.modeline");
            }
             
            boolean http = deps.stream().anyMatch(s -> s.contains("mvn:org.apache.camel:camel-platform-http"));
            if (!http) {
                prop.put("camel.main.run-controller", "true");
            }
             
            if (!prop.containsKey("server.port")) {
                int port = httpServerPort(settings);
                if (port == -1 && http) {
                    port = 8080;
                }
                if (port != -1 && port != 8080) {
                    prop.put("server.port", port);
                }
            }
            if (!prop.containsKey("management.server.port")) {
                port = httpManagementPort(settings);
                if (port != -1) {
                    prop.put("management.server.port", port);
                }
            }
            if (hawtio) {
                 
                String s = prop.getProperty("management.endpoints.web.exposure.include");
                if (s == null) {
                    s = "hawtio,jolokia";
                } else {
                    s = s + ",hawtio,jolokia";
                }
                prop.setProperty("management.endpoints.web.exposure.include", s);
                prop.setProperty("spring.jmx.enabled", "true");
                prop.setProperty("hawtio.authenticationEnabled", "false");
            }
            return prop;
        });
        if ("maven".equals(buildTool)) {
            createMavenPom(settings, profile, buildDir.resolve("pom.xml"), deps);
            if (mavenWrapper) {
                copyMavenWrapper();
            }
        } else if ("gradle".equals(buildTool)) {
            createSettingsGradle(buildDir.resolve("settings.gradle"));
            createBuildGradle(settings, buildDir.resolve("build.gradle"), deps);
            if (gradleWrapper) {
                copyGradleWrapper();
            }
        }
        copyDockerFiles(BUILD_DIR);
        String appJar = "target" + File.separator + ids[1] + "-" + ids[2] + ".jar";
        copyReadme(BUILD_DIR, appJar);
        if (cleanExportDir || !exportDir.equals(".")) {
             
             
            CommandHelper.cleanExportDir(exportDir);
        }
         
        PathUtils.copyDirectory(buildDir, Paths.get(exportDir));
        PathUtils.deleteDirectory(buildDir);

        return 0;
    }
Pair #1586 Negative (Non-Clone)
ID: 1477_1315
ClassID: 1477
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1587 Negative (Non-Clone)
ID: 702_647
ClassID: 702
File: systems/camel-java/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
Name: org.apache.camel.component.splunkhec.SplunkHECEndpoint.provideSSLContext()
    SSLContext provideSSLContext() throws GeneralSecurityException, IOException {
        if (sslContextParameters != null) {
            return sslContextParameters.createSSLContext(getCamelContext());
        } else if (getComponent().getSslContextParameters() != null) {
            return getComponent().getSslContextParameters().createSSLContext(getCamelContext());
        } else {
            return null;
        }
    }
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #1588 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 309_378
ClassID: 309
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #1589 Negative (Non-Clone)
ID: 171_127
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkV2Operation(OperationName operationName)
    private boolean isBulkV2Operation(OperationName operationName) {
        switch (operationName) {
            case BULK2_CREATE_JOB:
            case BULK2_CREATE_BATCH:
            case BULK2_CLOSE_JOB:
            case BULK2_GET_JOB:
            case BULK2_ABORT_JOB:
            case BULK2_DELETE_JOB:
            case BULK2_GET_SUCCESSFUL_RESULTS:
            case BULK2_GET_FAILED_RESULTS:
            case BULK2_GET_UNPROCESSED_RECORDS:
            case BULK2_GET_ALL_JOBS:
            case BULK2_CREATE_QUERY_JOB:
            case BULK2_GET_QUERY_JOB:
            case BULK2_GET_QUERY_JOB_RESULTS:
            case BULK2_ABORT_QUERY_JOB:
            case BULK2_DELETE_QUERY_JOB:
            case BULK2_GET_ALL_QUERY_JOBS:
                return true;
            default:
                return false;
        }
    }
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #1590 Negative (Non-Clone)
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
ID: 2401_1895
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.startAllStoppedConsumers()
    private void startAllStoppedConsumers() {
        lock.lock();
        try {
            for (Route route : suspendedRoutes) {
                LOGGER.debug("Starting consumer for {} ({})", route.getId(), route.getConsumer());
                startConsumer(route.getConsumer());
            }

            suspendedRoutes.clear();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1591 Negative (Non-Clone)
ID: 285_354
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toLong(JsonNode node, Exchange exchange)
    public Long toLong(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToLong()) {
                return nn.asLong();
            }
        }
        String text = node.asText();
        return Long.valueOf(text);
    }
ID: 2243_1764
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #1592 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 1914_1577
ClassID: 1914
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        Lock l = hazelcastInstance.getCPSubsystem().getLock(mapName);
        try {
            l.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            l.unlock();
        }
    }
Pair #1593 Negative (Non-Clone)
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
ID: 444_470
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
             
            DatagramPacket dp = new DatagramPacket(payload.retain(), msg.recipient());
            out.add(dp);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #1594 Negative (Non-Clone)
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 1972_1603
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.add(Exchange exchange)
    private void add(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.add(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #1595 Negative (Non-Clone)
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
Pair #1596 Negative (Non-Clone)
ID: 3164_2418
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWireTapProcessor.java
Name: org.apache.camel.management.mbean.ManagedWireTapProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 106_96
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkDeleteUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                Response response = keycloakClient.realm(realmName).users().delete(userId);
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to delete user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1597 Negative (Non-Clone)
ID: 3098_2365
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.description(String description)
    public RestDefinition description(String description) {
        if (getVerbs().isEmpty()) {
            super.description(description);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.description(description);
        }

        return this;
    }
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
Pair #1598 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 983_842
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.SSPTParser(java.io.InputStream stream, String encoding)
  public SSPTParser(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source = new SSPTParserTokenManager(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
Pair #1599 Negative (Non-Clone)
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
Pair #1600 Negative (Non-Clone)
ID: 497_523
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
Pair #1601 Negative (Non-Clone)
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #1602 Negative (Non-Clone)
ID: 1806_1472
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
    private void runAsyncImageBuild(Exchange exchange, Message message, DockerClient client)
            throws DockerException, InterruptedException {
         
        try (BuildImageCmd cmd = executeBuildImageRequest(client, message)) {

            BuildImageResultCallback item = cmd.exec(new BuildImageResultCallback() {
                @Override
                public void onNext(BuildResponseItem item) {
                    super.onNext(item);

                    LOG.trace("build image callback {}", item);

                    exchange.getIn().setBody(item.getImageId());
                }
            });

            setResponse(exchange, item);
        }
    }
ID: 1634_1401
ClassID: 1634
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.detectMimeType(File file, Exchange exchange)
    private String detectMimeType(File file, Exchange exchange) {
         
        String mediaTypeStr = exchange.getIn().getHeader(SpringAiChatConstants.MEDIA_TYPE, String.class);
        if (mediaTypeStr != null) {
            return mediaTypeStr;
        }

         
        String fileContentType = exchange.getIn().getHeader(Exchange.FILE_CONTENT_TYPE, String.class);
        if (fileContentType != null) {
            return fileContentType;
        }

         
        String fileName = file.getName().toLowerCase();

         
        if (fileName.endsWith(".png")) {
            return "image/png";
        } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (fileName.endsWith(".gif")) {
            return "image/gif";
        } else if (fileName.endsWith(".webp")) {
            return "image/webp";
        } else if (fileName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (fileName.endsWith(".tiff") || fileName.endsWith(".tif")) {
            return "image/tiff";
        } else if (fileName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (fileName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (fileName.endsWith(".webm")) {
            return "video/webm";
        } else if (fileName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (fileName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (fileName.endsWith(".flv")) {
            return "video/x-flv";
        } else if (fileName.endsWith(".mpeg") || fileName.endsWith(".mpg")) {
            return "video/mpeg";
        } else if (fileName.endsWith(".wmv")) {
            return "video/x-ms-wmv";
        } else if (fileName.endsWith(".3gp")) {
            return "video/3gpp";
        }
         
        else if (fileName.endsWith(".wav")) {
            return "audio/wav";
        } else if (fileName.endsWith(".mp3")) {
            return "audio/mpeg";  
        } else if (fileName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (fileName.endsWith(".m4a")) {
            return "audio/mp4";  
        } else if (fileName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (fileName.endsWith(".pdf")) {
            return "application/pdf";
        } else if (fileName.endsWith(".csv")) {
            return "text/csv";
        } else if (fileName.endsWith(".doc")) {
            return "application/msword";
        } else if (fileName.endsWith(".docx")) {
            return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        } else if (fileName.endsWith(".xls")) {
            return "application/vnd.ms-excel";
        } else if (fileName.endsWith(".xlsx")) {
            return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        } else if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
            return "text/html";
        } else if (fileName.endsWith(".txt")) {
            return "text/plain";
        } else if (fileName.endsWith(".md")) {
            return "text/markdown";
        }

         
        LOG.debug("Could not detect MIME type from file extension: {}, defaulting to image/png", fileName);
        return "image/png";
    }
Pair #1603 Negative (Non-Clone)
ID: 1914_1576
ClassID: 1914
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        RLock lock = redisson.getLock("aggregationLock");
        try {
            lock.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            lock.unlock();
        }
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #1604 Negative (Non-Clone)
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
Pair #1605 Negative (Non-Clone)
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
Pair #1606 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
Pair #1607 Negative (Non-Clone)
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1608 Negative (Non-Clone)
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
ID: 464_490
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.getEndpointConfiguration(GoogleDriveApiName apiName)
    public GoogleDriveConfiguration getEndpointConfiguration(GoogleDriveApiName apiName) {
        GoogleDriveConfiguration result = null;
        switch (apiName) {
            case DRIVE_ABOUT:
                result = new DriveAboutEndpointConfiguration();
                break;
            case DRIVE_CHANGES:
                result = new DriveChangesEndpointConfiguration();
                break;
            case DRIVE_CHANNELS:
                result = new DriveChannelsEndpointConfiguration();
                break;
            case DRIVE_COMMENTS:
                result = new DriveCommentsEndpointConfiguration();
                break;
            case DRIVE_DRIVES:
                result = new DriveDrivesEndpointConfiguration();
                break;
            case DRIVE_FILES:
                result = new DriveFilesEndpointConfiguration();
                break;
            case DRIVE_PERMISSIONS:
                result = new DrivePermissionsEndpointConfiguration();
                break;
            case DRIVE_REPLIES:
                result = new DriveRepliesEndpointConfiguration();
                break;
            case DRIVE_REVISIONS:
                result = new DriveRevisionsEndpointConfiguration();
                break;
            case DRIVE_TEAMDRIVES:
                result = new DriveTeamdrivesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1609 Negative (Non-Clone)
ID: 1498_1343
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePDF(String flavor)
    public DocFlavor forMimeTypePDF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PDF;
        }

        return d;
    }
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
Pair #1610 Negative (Non-Clone)
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
Pair #1611 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 1739_1451
ClassID: 1739
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketComponent.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketComponent.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (vertx == null) {
            if (vertxOptions != null) {
                vertx = Vertx.vertx(vertxOptions);
            } else {
                vertx = Vertx.vertx();
            }
            managedVertx = true;
        }
    }
Pair #1612 Negative (Non-Clone)
ID: 52_65
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/idempotent/JCacheIdempotentRepository.java
Name: org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
Pair #1613 Negative (Non-Clone)
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
Pair #1614 Negative (Non-Clone)
ID: 179_164
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, queryJobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 2578_2171
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkSince(final File file)
    private void checkSince(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String sinceText = "*Since Camel {since}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);
        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(sinceText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string '" + sinceText + "'");
        }
    }
Pair #1615 Negative (Non-Clone)
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1616 Negative (Non-Clone)
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
Pair #1617 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #1618 Negative (Non-Clone)
ID: 1008_870
ClassID: 1008
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.index(Object result)
    public void index(Object result) {
        if (result instanceof ClientEntitySet) {
            index((ClientEntitySet) result);
        } else if (result instanceof Iterable) {
            index((Iterable<?>) result);
        } else {
            indexDefault(result);
        }
    }
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
Pair #1619 Negative (Non-Clone)
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
Pair #1620 Negative (Non-Clone)
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #1621 Negative (Non-Clone)
ID: 2249_1777
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAsync(Message message)
    public void onPutAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAsync(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putAsync(key, value);
        }

        setResult(message, result);
    }
ID: 1218_1050
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePrices(Exchange exchange, String method)
    private Object handlePrices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Price.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Price.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String priceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Price price = Price.retrieve(priceId);
                return price.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Price.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for prices: " + method);
        }
    }
Pair #1622 Negative (Non-Clone)
ID: 2640_2285
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withExchangeProperty(String key, Object value)
    public FluentProducerTemplate withExchangeProperty(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException(
                    "Cannot use both withExchangeProperty and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.exchangeProperties;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.exchangeProperties = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #1623 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 2189_1725
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.untagDroplet(Exchange exchange)
    private void untagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().untagResources(dropletId.toString(), resources);
        LOG.trace("Untag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #1624 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 1490_1329
ClassID: 1490
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #1625 Negative (Non-Clone)
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
Pair #1626 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #1627 Negative (Non-Clone)
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #1628 Negative (Non-Clone)
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
ID: 1313_1209
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation)
    private void doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        NodeSpec nodeSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_SPEC, NodeSpec.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("{} a specific node require specify a node name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific node require specify a node name", operationName));
        }
        if (ObjectHelper.isEmpty(nodeSpec)) {
            LOG.error("{} a specific node require specify a node spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific node require specify a node spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Node nodeCreating = new NodeBuilder().withNewMetadata().withName(nodeName).withLabels(labels).endMetadata()
                .withSpec(nodeSpec).build();
        Node node = operation.apply(getEndpoint().getKubernetesClient().nodes().resource(nodeCreating));

        prepareOutboundMessage(exchange, node);
    }
Pair #1629 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 1694_1421
ClassID: 1694
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/util/ReflectionUtils.java
Name: org.apache.camel.spring.util.ReflectionUtils.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (IllegalArgumentException ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        } catch (IllegalAccessException ex) {
            handleReflectionException(ex);
        }
    }
Pair #1630 Negative (Non-Clone)
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
Pair #1631 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 188_193
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
    private void processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getUnprocessedRecords(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #1632 Negative (Non-Clone)
ID: 658_584
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.messageToRouter(Message message)
    private Router messageToRouter(Message message) {
        Router router = message.getBody(Router.class);

        if (router == null) {
            Map headers = message.getHeaders();
            RouterBuilder builder = Builders.router();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            router = builder.build();
        }
        return router;
    }
ID: 898_759
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
Name: org.apache.camel.component.google.drive.GoogleDriveComponent.getClient(GoogleDriveConfiguration config)
    public Drive getClient(GoogleDriveConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Drive client");
            }
        }
        return client;
    }
Pair #1633 Negative (Non-Clone)
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #1634 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 3212_2487
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                mps.add(mp);
            }
        }
         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        ProcessorDevConsole.includeProcessorsText(getCamelContext(), sb, 0, null, mps);
    }
Pair #1635 Negative (Non-Clone)
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
ID: 220_250
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/transform/KinesisCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.kinesis.transform.KinesisCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.kinesis.getRecords");

        if (message.getHeaders().containsKey(Kinesis2Constants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.kinesis.partition.key." + message.getHeader(Kinesis2Constants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Kinesis2Constants.SHARD_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1636 Negative (Non-Clone)
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #1637 Negative (Non-Clone)
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
ID: 2614_2261
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateMainModel(JsonObject obj)
    public static MainModel generateMainModel(JsonObject obj) {
        MainModel model = new MainModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            MainGroupModel group = new MainGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            MainOptionModel option = new MainOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
Pair #1638 Negative (Non-Clone)
ID: 103_83
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourcePermissionRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().permissions()
                        .resource().create((ResourcePermissionRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create permission requires POJO request with ResourcePermissionRepresentation");
        }
    }
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1639 Negative (Non-Clone)
ID: 497_523
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #1640 Negative (Non-Clone)
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
Pair #1641 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #1642 Negative (Non-Clone)
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
Pair #1643 Negative (Non-Clone)
ID: 2464_1972
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.tailLogFiles(Map<Long, Row> rows, int tail, Date limit)
    private void tailLogFiles(Map<Long, Row> rows, int tail, Date limit) throws Exception {
        for (Row row : rows.values()) {
            Path log = logFile(row.pid);
            if (Files.exists(log)) {
                row.reader = new LineNumberReader(Files.newBufferedReader(log));
                String line;
                if (tail <= 0) {
                    row.fifo = new ArrayDeque<>();
                } else {
                    row.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = row.reader.readLine();
                    if (line != null) {
                        line = alignTimestamp(line);
                        boolean valid = isValidSince(limit, line);
                        if (valid && grep != null) {
                            valid = isValidGrep(line);
                        }
                        if (valid) {
                            while (!row.fifo.offer(line)) {
                                row.fifo.poll();
                            }
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 3161_2405
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedProcessor(String id, Class<T> type)
    public <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForProcessor(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #1644 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1645 Negative (Non-Clone)
ID: 3250_2595
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteConfigurationRefs()
    protected void initRouteConfigurationRefs() throws Exception {
         
        if (getRouteConfigurationRefs() != null) {
            for (RouteConfigurationContextRefDefinition ref : getRouteConfigurationRefs()) {
                List<RouteConfigurationDefinition> defs = ref.lookupRouteConfigurations(getContext());
                for (RouteConfigurationDefinition def : defs) {
                    LOG.debug("Adding route configuration from {} -> {}", ref, def);
                    getRouteConfigurations().add(def);
                }
            }
        }
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #1646 Negative (Non-Clone)
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
ID: 3230_2530
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionExpression()
    public static Expression fileOnlyNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext";
            }
        };
    }
Pair #1647 Negative (Non-Clone)
ID: 3164_2422
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
Pair #1648 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
Pair #1649 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1650 Negative (Non-Clone)
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #1651 Negative (Non-Clone)
ID: 3222_2508
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/NumericExpression.java
Name: org.apache.camel.language.simple.ast.NumericExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == int.class || type == Integer.class
                        || type == long.class || type == Long.class
                        || type == double.class || type == Double.class) {
                    return type.cast(number);
                }
                return exchange.getContext().getTypeConverter().tryConvertTo(type, exchange, number);
            }

            @Override
            public String toString() {
                return String.valueOf(number);
            }
        };
    }
ID: 2657_2327
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TransformProcessor.java
Name: org.apache.camel.processor.TransformProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, true);
            } else {
                 
                old.setBody(newBody);

                 
                if (!exchange.hasOut()) {
                    exchange.setOut(exchange.getIn());
                }
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #1652 Negative (Non-Clone)
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
Pair #1653 Negative (Non-Clone)
ID: 909_787
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateDownloadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateDownloadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateDownloadUrlRequest.class);
            response = client.generateDownloadUrl(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            GenerateDownloadUrlRequest request = GenerateDownloadUrlRequest.newBuilder().setName(cfName.toString())
                    .build();
            response = client.generateDownloadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getDownloadUrl());
    }
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #1654 Negative (Non-Clone)
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
Pair #1655 Negative (Non-Clone)
ID: 197_228
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteAsyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeAsyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceResponseCallback() {
                    @Override
                    public void onResponse(ReportInstance reportInstance, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstance, headers, ex, callback);
                    }
                });
    }
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
Pair #1656 Negative (Non-Clone)
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 3111_2398
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.init(CamelContext context)
    public void init(CamelContext context) {
        if (expr == null) {
            lock.lock();
            try {
                if (expr == null) {
                    Expression newExpression = getExpressionValue();
                    if (newExpression == null) {
                        newExpression = delegate.getExpressionType().createExpression(context);
                    }
                    newExpression.init(context);
                    expr = newExpression;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1657 Negative (Non-Clone)
ID: 1429_1285
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryDelimiter = "--" + boundary;  
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #1658 Negative (Non-Clone)
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
Pair #1659 Negative (Non-Clone)
ID: 284_350
ClassID: 284
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        JsonNode answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.JSON.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 3171_2440
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        sb.append("<messages>");
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            String xml = MessageHelper.dumpAsXml(msg, includeBody);
            sb.append("\n").append(xml);
        }
        sb.append("\n</messages>");
        return sb.toString();
    }
Pair #1660 Negative (Non-Clone)
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
ID: 2614_2262
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateJBangModel(JsonObject obj)
    public static JBangModel generateJBangModel(JsonObject obj) {
        JBangModel model = new JBangModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            JBangGroupModel group = new JBangGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            JBangOptionModel option = new JBangOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
Pair #1661 Negative (Non-Clone)
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 2479_2027
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
Pair #1662 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 924_799
ClassID: 924
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.asTypeName(Class<?> classType)
    protected String asTypeName(Class<?> classType) {
         
         
         
         
         
         
         
         

        String type;

        if (classType.isArray()) {
            type = classType.getComponentType().getName() + "[]";
        } else {
            type = classType.getName();
        }

        return type;
    }
Pair #1663 Negative (Non-Clone)
ID: 3176_2450
ClassID: 3176
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
Name: org.apache.camel.support.LRUCacheFactory.getInstance()
    public static LRUCacheFactory getInstance() {
        if (instance == null) {
            LOCK.lock();
            try {
                if (instance == null) {
                    instance = createLRUCacheFactory();
                }
            } finally {
                LOCK.unlock();
            }
        }
        return instance;
    }
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
Pair #1664 Negative (Non-Clone)
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
Pair #1665 Negative (Non-Clone)
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
Pair #1666 Negative (Non-Clone)
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
ID: 174_144
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatchQuery(String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatchQuery(
            String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        final byte[] queryBytes;
        try {
            queryBytes = soqlQuery.getBytes(StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Unexpected exception: " + e.getMessage(), e));
            return;
        }
        post.body(new BytesRequestContent(queryBytes));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(jobContentType) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #1667 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 15_16
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastOperation.java
Name: org.apache.camel.component.hazelcast.HazelcastOperation.getHazelcastOperation(String name)
    public static HazelcastOperation getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastOperation hazelcastOperation : VALUES) {
            if (hazelcastOperation.toString().equalsIgnoreCase(name) || hazelcastOperation.name().equalsIgnoreCase(name)) {
                return hazelcastOperation;
            }
        }
        throw new IllegalArgumentException(String.format("Operation '%s' is not supported by this component.", name));
    }
Pair #1668 Negative (Non-Clone)
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #1669 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 3108_2392
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplatesDefinition.java
Name: org.apache.camel.model.RouteTemplatesDefinition.createRouteTemplate()
    protected RouteTemplateDefinition createRouteTemplate() {
        RouteTemplateDefinition template = new RouteTemplateDefinition();
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            template.getRoute().setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            template.setResource(resource);
        }
        return template;
    }
Pair #1670 Negative (Non-Clone)
ID: 180_168
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request)
    private void doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
        });
    }
ID: 1905_1569
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedPropertiesMDC(Exchange exchange, boolean push)
    private void userSelectedPropertiesMDC(Exchange exchange, boolean push) {
        for (String customProperty : getCustomProperties().split(",")) {
            if (exchange.getProperty(customProperty) != null) {
                if (push) {
                    MDC.put(customProperty, exchange.getProperty(customProperty, String.class));
                } else {
                    MDC.remove(customProperty);
                }
            }
        }
    }
Pair #1671 Negative (Non-Clone)
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #1672 Negative (Non-Clone)
ID: 2243_1764
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 697_637
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doInsertList(Exchange exchange, SqlSession session)
    private void doInsertList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Inserting: {} using statement: {}", in, statement);
            result = session.insert(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Inserting using statement: {}", statement);
            result = session.insert(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #1673 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 467_497
ClassID: 467
File: systems/camel-java/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
Name: org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection.GoogleSheetsApiCollection()
    private GoogleSheetsApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleSheetsApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.SPREADSHEETS, new ApiMethodHelper<>(SheetsSpreadsheetsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsApiMethod.class, GoogleSheetsApiName.SPREADSHEETS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleSheetsApiName.DATA, new ApiMethodHelper<>(SheetsSpreadsheetsValuesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(SheetsSpreadsheetsValuesApiMethod.class, GoogleSheetsApiName.DATA);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1674 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #1675 Negative (Non-Clone)
ID: 2450_1938
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGist()
    private Integer downloadFromGist() throws Exception {
        StringJoiner all = new StringJoiner(",");

        fetchGistUrls(file, all);

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GistResourceResolver resolver = new GistResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #1676 Negative (Non-Clone)
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
ID: 104_92
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createRole(Keycloak keycloakClient, Exchange exchange)
    private void createRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Role created successfully");
        }
    }
Pair #1677 Negative (Non-Clone)
ID: 2188_1722
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.transferImage(Exchange exchange)
    private void transferImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);

        if (ObjectHelper.isEmpty(imageId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.ID + " must be specified");
        }

        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().transferImage(imageId, region);
        LOG.trace("Transfer  Image {} to Region {} [{}] ", imageId, region, action);
        exchange.getMessage().setBody(action);
    }
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1678 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
Pair #1679 Negative (Non-Clone)
ID: 3268_2635
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes)
    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("Searching for: {} in package: {} using classloader: {}",
                    test, packageName, loader.getClass().getName());
        }

        Enumeration<URL> urls = getUrls(packageName, loader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for classes in: {} matching criteria: {}", urlPath, test);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(test, packageName, file, classes);
                } else {
                    InputStream stream = null;
                    try {
                        if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                                || urlPath.startsWith("sonicfs:")
                                || isAcceptableScheme(urlPath)) {
                             
                             
                            LOG.trace("Loading from jar using url: {}", urlPath);
                            URL urlStream = URI.create(urlPath).toURL();
                            URLConnection con = urlStream.openConnection();
                             
                            con.setUseCaches(false);
                            stream = con.getInputStream();
                        } else {
                            LOG.trace("Loading from jar using file: {}", file);
                            stream = new FileInputStream(file);
                        }

                         
                        if (jarCache == null) {
                             
                            jarCache = LRUCacheFactory.newLRUSoftCache(1000);
                        }

                        loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
                    } finally {
                        IOHelper.close(stream);
                    }
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
Pair #1680 Negative (Non-Clone)
ID: 464_493
ClassID: 464
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
Name: org.apache.camel.component.fhir.internal.FhirApiCollection.getEndpointConfiguration(FhirApiName apiName)
    public FhirConfiguration getEndpointConfiguration(FhirApiName apiName) {
        FhirConfiguration result = null;
        switch (apiName) {
            case CAPABILITIES:
                result = new FhirCapabilitiesEndpointConfiguration();
                break;
            case CREATE:
                result = new FhirCreateEndpointConfiguration();
                break;
            case DELETE:
                result = new FhirDeleteEndpointConfiguration();
                break;
            case HISTORY:
                result = new FhirHistoryEndpointConfiguration();
                break;
            case LOAD_PAGE:
                result = new FhirLoadPageEndpointConfiguration();
                break;
            case META:
                result = new FhirMetaEndpointConfiguration();
                break;
            case OPERATION:
                result = new FhirOperationEndpointConfiguration();
                break;
            case PATCH:
                result = new FhirPatchEndpointConfiguration();
                break;
            case READ:
                result = new FhirReadEndpointConfiguration();
                break;
            case SEARCH:
                result = new FhirSearchEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new FhirTransactionEndpointConfiguration();
                break;
            case UPDATE:
                result = new FhirUpdateEndpointConfiguration();
                break;
            case VALIDATE:
                result = new FhirValidateEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #1681 Negative (Non-Clone)
ID: 2042_1650
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getDirectoryPermissions()
    public Set<PosixFilePermission> getDirectoryPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmodDirectory)) {
            return permissions;
        }

         
        String chmodString = chmodDirectory.substring(chmodDirectory.length() - 3);

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #1682 Negative (Non-Clone)
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 2473_2013
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.parseTraceLine(Pid pid, String line)
    private List<Row> parseTraceLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("traces");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    row.first = jo.getBoolean("first");
                    row.last = jo.getBoolean("last");
                    row.location = jo.getString("location");
                    row.routeId = jo.getString("routeId");
                    row.nodeId = jo.getString("nodeId");
                    if ("aggregate".equals(jo.getString("nodeShortName"))) {
                        row.aggregate = new JsonObject();
                        row.aggregate.put("nodeLabel", jo.getString("nodeLabel"));
                    }
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.elapsed = jo.getLong("elapsed");
                    row.failed = jo.getBoolean("failed");
                    row.done = jo.getBoolean("done");
                    row.threadName = jo.getString("threadName");
                    row.message = jo.getMap("message");
                    row.exception = jo.getMap("exception");
                    row.exchangeId = row.message.getString("exchangeId");
                    row.exchangePattern = row.message.getString("exchangePattern");
                     
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (!showExchangeVariables) {
                        row.message.remove("exchangeVariables");
                    }
                    if (!showExchangeProperties) {
                        row.message.remove("exchangeProperties");
                    }
                    if (!showHeaders) {
                        row.message.remove("headers");
                    }
                    if (!showBody) {
                        row.message.remove("body");
                    }
                    if (!showException) {
                        row.exception = null;
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
Pair #1683 Negative (Non-Clone)
ID: 1111_946
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private void initializeSdkClient(FaceRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getFrsClient() != null) {
            LOG.info(
                    "Instance of FrsClient was set on the endpoint. Skip creation of FrsClient from endpoint parameters");
            this.frsClient = endpoint.getFrsClient();
            return;
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }
        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        frsClient = FrsClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized FRS client");
        }
    }
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
Pair #1684 Negative (Non-Clone)
ID: 1319_1225
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("secret");
        if (pf instanceof SecretPropertiesFunction) {
            propertiesFunction = (SecretPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        secrets = camelContext.getVaultConfiguration().kubernetes().getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Kubernetes vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
Pair #1685 Negative (Non-Clone)
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #1686 Negative (Non-Clone)
ID: 1429_1284
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryCloseDelimiter = "--" + boundary + "--";  
         
         
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryCloseDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryCloseDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryCloseDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
Pair #1687 Negative (Non-Clone)
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #1688 Negative (Non-Clone)
ID: 3298_2710
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/ConfigurationPropertiesValidationResult.java
Name: org.apache.camel.catalog.ConfigurationPropertiesValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }
        if (invalidMap != null) {
            for (Map.Entry<String, String> entry : invalidMap.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty map key/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid map key/value: " + entry.getValue());
                }
            }
        }
        if (invalidArray != null) {
            for (Map.Entry<String, String> entry : invalidArray.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty array index/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid array index/value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder();
        if (includeHeader) {
            sb.append("Configuration properties error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (text != null) {
            sb.append("\t").append(text).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, shortKey(option.getKey()), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #1689 Negative (Non-Clone)
ID: 1853_1507
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PrivateKey importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPrivateKey(keyData);
        } else {
            derBytes = keyData;
        }

        PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePrivate(spec);
    }
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1690 Negative (Non-Clone)
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
Pair #1691 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
Pair #1692 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 1313_1201
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doCreateOrUpdateHPA(Exchange exchange, String operationName, Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation)
    private void doCreateOrUpdateHPA(
            Exchange exchange, String operationName,
            Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation) {
        String hpaName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerSpec hpaSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_SPEC, HorizontalPodAutoscalerSpec.class);
        if (ObjectHelper.isEmpty(hpaName)) {
            LOG.error("{} a specific hpa require specify a hpa name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific hpa require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(hpaSpec)) {
            LOG.error("{} a specific hpa require specify a hpa spec bean", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa spec bean");
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscaler hpaCreating = new HorizontalPodAutoscalerBuilder().withNewMetadata().withName(hpaName)
                .withLabels(labels).endMetadata().withSpec(hpaSpec).build();
        HorizontalPodAutoscaler hpa
                = operation.apply(getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                        .inNamespace(namespaceName)
                        .resource(hpaCreating));

        prepareOutboundMessage(exchange, hpa);
    }
Pair #1693 Negative (Non-Clone)
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 557_537
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Statement stmt)
    private void closeQuietly(Statement stmt) {
        if (stmt != null) {
            try {
                if (!stmt.isClosed()) {
                    stmt.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing statement", sqle);
            }
        }
    }
Pair #1694 Negative (Non-Clone)
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
Pair #1695 Negative (Non-Clone)
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #1696 Negative (Non-Clone)
ID: 1138_979
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            this.lastSha = exchange.getMessage().getHeader(GitHubConstants.GITHUB_COMMIT_SHA, String.class);
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #1697 Negative (Non-Clone)
ID: 2640_2287
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariable(String key, Object value)
    public FluentProducerTemplate withVariable(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariable and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 1215_1039
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
Pair #1698 Negative (Non-Clone)
ID: 765_685
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-cos/src/main/java/org/apache/camel/component/ibm/cos/IBMCOSProducer.java
Name: org.apache.camel.component.ibm.cos.IBMCOSProducer.determineKey(Exchange exchange)
    private String determineKey(Exchange exchange) {
        String key = exchange.getIn().getHeader(IBMCOSConstants.KEY, String.class);
        if (key == null) {
            key = getConfiguration().getKeyName();
        }
        if (key == null) {
            throw new IllegalArgumentException("Key must be specified");
        }
        return key;
    }
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #1699 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 1257_1107
ClassID: 1257
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/TransactionErrorHandler.java
Name: org.apache.camel.jta.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            exchange.getUnitOfWork().beginTransactedBy(transactionKey);
             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);
        } catch (TransactionRolledbackException e) {
             
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Throwable e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            exchange.getUnitOfWork().endTransactedBy(transactionKey);
        }

         
         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast and caught: ",
                            transactionKey, redelivered, ids, cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
             
            exchange.setException(null);
        }
    }
Pair #1700 Negative (Non-Clone)
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
ID: 1218_1047
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleProducts(Exchange exchange, String method)
    private Object handleProducts(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Product.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Product.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String productId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Product product = Product.retrieve(productId);
                return product.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Product deleteProduct = Product.retrieve(deleteId);
                return deleteProduct.delete();
            case StripeConstants.METHOD_LIST:
                return Product.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for products: " + method);
        }
    }
Pair #1701 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #1702 Negative (Non-Clone)
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #1703 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 217_239
ClassID: 217
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
Name: org.apache.camel.impl.engine.SubscribeMethodProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            for (Map.Entry<AsyncProcessor, Predicate> entry : methods.entrySet()) {
                Predicate predicate = entry.getValue();
                if (predicate.matches(exchange)) {
                    return entry.getKey().process(exchange, callback);
                }
            }
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #1704 Negative (Non-Clone)
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 903_779
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case LIST:
                apiProxy = getClient().calendarList();
                break;
            case ACL:
                apiProxy = getClient().acl();
                break;
            case CALENDARS:
                apiProxy = getClient().calendars();
                break;
            case CHANNELS:
                apiProxy = getClient().channels();
                break;
            case COLORS:
                apiProxy = getClient().colors();
                break;
            case EVENTS:
                apiProxy = getClient().events();
                break;
            case FREEBUSY:
                apiProxy = getClient().freebusy();
                break;
            case SETTINGS:
                apiProxy = getClient().settings();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1705 Negative (Non-Clone)
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #1706 Negative (Non-Clone)
ID: 2025_1643
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #1707 Negative (Non-Clone)
ID: 452_482
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.moveFile(String fileId, String destinationFolderId, String newName)
    public BoxFile moveFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToMove = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFile) fileToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFile) fileToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
Pair #1708 Negative (Non-Clone)
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #1709 Negative (Non-Clone)
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #1710 Negative (Non-Clone)
ID: 1218_1045
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCharges(Exchange exchange, String method)
    private Object handleCharges(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Charge.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Charge.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String chargeId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge charge = Charge.retrieve(chargeId);
                return charge.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Charge.list(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CAPTURE:
                String captureId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge captureCharge = Charge.retrieve(captureId);
                return captureCharge.capture(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for charges: " + method);
        }
    }
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
Pair #1711 Negative (Non-Clone)
ID: 1864_1535
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKey(String keyId)
    public KeyPair getKey(String keyId) throws Exception {
        if (keyCache.containsKey(keyId)) {
            return keyCache.get(keyId);
        }

        Path keyFile = getKeyFile(keyId);
        if (!Files.exists(keyFile)) {
            throw new IllegalArgumentException("Key not found: " + keyId);
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(keyFile)))) {
            KeyPair keyPair = (KeyPair) ois.readObject();
            keyCache.put(keyId, keyPair);
            return keyPair;
        }
    }
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
Pair #1712 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 838_723
ClassID: 838
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.createMqttClientPersistence(PahoConfiguration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoConfiguration configuration) {
        if (configuration.getPersistence() == PahoPersistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #1713 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
Pair #1714 Negative (Non-Clone)
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
ID: 2441_1919
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #1715 Negative (Non-Clone)
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
Pair #1716 Negative (Non-Clone)
ID: 1720_1438
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1717 Negative (Non-Clone)
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
Pair #1718 Negative (Non-Clone)
ID: 682_615
ClassID: 682
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                LongTaskTimer.Builder builder = LongTaskTimer.builder(namingStrategy.getLongTaskName(route))
                        .tags(route != null ? namingStrategy.getTags(route) : namingStrategy.getTags(camelContext))
                        .description(route != null ? "Route long task metric" : "CamelContext long task metric");
                if (configuration.getLongTaskInitiator() != null) {
                    configuration.getLongTaskInitiator().accept(builder);
                }
                longTaskTimer = builder.register(meterRegistry);
            }
        }
ID: 3165_2426
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
Name: org.apache.camel.management.mbean.ManagedValidatorRegistry.listValidators()
    public TabularData listValidators() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
            Collection<Validator> validators = validatorRegistry.values();
            for (Validator validator : validators) {
                CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
                DataType type = validator.getType();
                String desc = validator.toString();
                boolean isStatic = validatorRegistry.isStatic(type);
                boolean isDynamic = validatorRegistry.isDynamic(type);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "type", "static", "dynamic", "description" },
                        new Object[] { type.toString(), isStatic, isDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1719 Negative (Non-Clone)
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
ID: 3240_2567
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
Name: org.apache.camel.reifier.SetHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "headerName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetHeaderProcessor answer = new SetHeaderProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #1720 Negative (Non-Clone)
ID: 230_278
ClassID: 230
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FileIdBothDirectoryInformation> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FileIdBothDirectoryInformation> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 3105_2386
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.setInstance(Object instance)
    public void setInstance(Object instance) {
         
        if (instance instanceof Class) {
            this.beanType = (Class<?>) instance;
            this.instance = null;
        } else {
            this.beanType = null;
            this.instance = instance;
        }
    }
Pair #1721 Negative (Non-Clone)
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 106_95
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkUpdateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", user.getId());
            result.put("username", user.getUsername());
            try {
                if (ObjectHelper.isEmpty(user.getId())) {
                    throw new IllegalArgumentException("User ID is required for update operation");
                }
                keycloakClient.realm(realmName).users().get(user.getId()).update(user);
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to update user: " + user.getId(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #1722 Negative (Non-Clone)
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
Pair #1723 Negative (Non-Clone)
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
Pair #1724 Negative (Non-Clone)
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 765_683
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.determineOperation(Exchange exchange)
    private WatsonLanguageOperations determineOperation(Exchange exchange) {
        WatsonLanguageOperations operation
                = exchange.getIn().getHeader(WatsonLanguageConstants.OPERATION, WatsonLanguageOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #1725 Negative (Non-Clone)
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
ID: 217_236
ClassID: 217
File: systems/camel-java/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
Name: org.apache.camel.component.stomp.StompProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            stompEndpoint.send(exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
        }
        callback.done(true);
        return true;
    }
Pair #1726 Negative (Non-Clone)
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #1727 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 1720_1437
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #1728 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 1189_1018
ClassID: 1189
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.getNextEntry()
    private ZipArchiveEntry getNextEntry() throws IOException {
        ZipArchiveEntry entry;

        while ((entry = zipInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
Pair #1729 Negative (Non-Clone)
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
Pair #1730 Negative (Non-Clone)
ID: 2421_1900
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-route-parser/src/main/java/org/apache/camel/dsl/jbang/core/commands/parser/RouteParserCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.parser.RouteParserCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
Pair #1731 Negative (Non-Clone)
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3275_2651
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.next()
        public Object next() {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext();
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
Pair #1732 Negative (Non-Clone)
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
Pair #1733 Negative (Non-Clone)
ID: 2527_2098
ClassID: 2527
File: systems/camel-java/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/Helper.java
Name: org.apache.camel.dsl.java.joor.Helper.determineImports(String content)
    public static List<String> determineImports(String content) {
        List<String> answer = new ArrayList<>();
        final Matcher matcher = IMPORT_PATTERN.matcher(content);
        while (matcher.find()) {
            String imp = matcher.group(1);
            imp = imp.trim();
            answer.add(imp);
        }
        return answer;
    }
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #1734 Negative (Non-Clone)
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #1735 Negative (Non-Clone)
ID: 572_543
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getPortName(final CxfEndpoint endpoint)
    public static QName getPortName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getPortNameAsQName();
        if (answer == null) {
            String portLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.PORT_LOCALNAME);
            String portNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.PORT_NAMESPACE);
            if (portLocalName != null) {
                answer = new QName(portNamespace, portLocalName);
            }
        }
        return answer;
    }
ID: 1314_1214
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doCreateOrUpdateConfigMap(Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation)
    private void doCreateOrUpdateConfigMap(
            Exchange exchange, String operationName, Function<Resource<ConfigMap>, ConfigMap> operation) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HashMap<String, String> configMapData
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_DATA, HashMap.class);
        HashMap<String, String> configMapAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("{} a specific configMap require specify a configMap name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a configMap name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific configMap require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(configMapData)) {
            LOG.error("{} a specific configMap require specify a data map", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific configMap require specify a data map", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapBuilder cfMapCreating = new ConfigMapBuilder();
        if (ObjectHelper.isEmpty(configMapAnnotations)) {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).endMetadata().withData(configMapData);
        } else {
            cfMapCreating.withNewMetadata().withName(cfMapName).withLabels(labels).withAnnotations(configMapAnnotations)
                    .endMetadata().withData(configMapData);
        }
        ConfigMap configMap
                = operation.apply(
                        getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName)
                                .resource(cfMapCreating.build()));

        prepareOutboundMessage(exchange, configMap);
    }
Pair #1736 Negative (Non-Clone)
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 924_799
ClassID: 924
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.asTypeName(Class<?> classType)
    protected String asTypeName(Class<?> classType) {
         
         
         
         
         
         
         
         

        String type;

        if (classType.isArray()) {
            type = classType.getComponentType().getName() + "[]";
        } else {
            type = classType.getName();
        }

        return type;
    }
Pair #1737 Negative (Non-Clone)
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #1738 Negative (Non-Clone)
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 1445_1302
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllServerConnections()
    public static void closeAllServerConnections() {
        for (Map.Entry<Integer, AS2ServerConnection> entry : serverConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AS2ServerConnection on port: {}", port);
                AS2ServerConnection conn = entry.getValue();
                conn.close();
            } catch (Exception e) {
                 
                LOG.debug("Error stopping and closing AS2ServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        serverConnections.clear();
    }
Pair #1739 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #1740 Negative (Non-Clone)
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1741 Negative (Non-Clone)
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
Pair #1742 Negative (Non-Clone)
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
ID: 201_229
ClassID: 201
File: systems/camel-java/components/camel-wasm/src/main/java/org/apache/camel/language/wasm/WasmExpression.java
Name: org.apache.camel.language.wasm.WasmExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
Pair #1743 Negative (Non-Clone)
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 27_45
ClassID: 27
File: systems/camel-java/components/camel-nitrite/src/generated/java/org/apache/camel/component/nitrite/NitriteTypeConvertersLoader.java
Name: org.apache.camel.component.nitrite.NitriteTypeConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.List.class, org.dizitart.no2.Cursor.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromCursorToList((org.dizitart.no2.Cursor) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.dizitart.no2.Document.class, java.util.Map.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromMapToDocument((java.util.Map) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1744 Negative (Non-Clone)
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #1745 Negative (Non-Clone)
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 227_267
ClassID: 227
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFiles(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        FTPFile[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFtpFilesFast(operations, file);
        } else {
            files = getFtpFilesByFilter(operations, file);
        }
        return files;
    }
Pair #1746 Negative (Non-Clone)
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 339_390
ClassID: 339
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(JmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(JmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
Pair #1747 Negative (Non-Clone)
ID: 1122_953
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/models/OBSRegion.java
Name: org.apache.camel.component.huaweicloud.obs.models.OBSRegion.valueOf(String regionId)
    public static String valueOf(String regionId) {
        if (ObjectHelper.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            String endpoint = REGIONS.get(regionId.toLowerCase());
            if (ObjectHelper.isNotEmpty(endpoint)) {
                return endpoint;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 1042_905
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #1748 Negative (Non-Clone)
ID: 1216_1040
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        String message = fault.getFaultstring();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #1749 Negative (Non-Clone)
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #1750 Negative (Non-Clone)
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #1751 Negative (Non-Clone)
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 3272_2646
ClassID: 3272
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ResourceHelper.java
Name: org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
    public static URL resolveMandatoryResourceAsUrl(CamelContext camelContext, String uri)
            throws FileNotFoundException, MalformedURLException {
        URL url = resolveResourceAsUrl(camelContext, uri);
        if (url == null) {
            String resolvedName = resolveUriPath(uri);
            throw new FileNotFoundException("Cannot find resource: " + resolvedName + " in classpath for URI: " + uri);
        } else {
            return url;
        }
    }
Pair #1752 Negative (Non-Clone)
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
ID: 2314_1826
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-parameter-store/src/main/java/org/apache/camel/component/aws/parameterstore/ParameterStorePropertiesFunction.java
Name: org.apache.camel.component.aws.parameterstore.ParameterStorePropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SsmClientBuilder clientBuilder = SsmClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Parameter Store Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1753 Negative (Non-Clone)
ID: 436_448
ClassID: 436
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
Name: org.apache.camel.component.netty.NettyConfiguration.copy()
    public NettyConfiguration copy() {
        try {
            NettyConfiguration answer = (NettyConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
Pair #1754 Negative (Non-Clone)
ID: 231_280
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy strategy
                = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<SftpRemoteFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SftpChangedExclusiveReadLockStrategy readLockStrategy = new SftpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #1755 Negative (Non-Clone)
ID: 2399_1886
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
            throws Exception {
        HazelcastInstance hzInstance = null;
        ClientConfig config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = HazelcastClient.getHazelcastClientByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, ClientConfig.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlClientConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlClientConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = HazelcastClient.newHazelcastClient(config);
            } else if (config != null) {
                hzInstance = HazelcastClient.newHazelcastClient(config);
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
Pair #1756 Negative (Non-Clone)
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
Pair #1757 Negative (Non-Clone)
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #1758 Negative (Non-Clone)
ID: 220_253
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/transform/EventHubsCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.eventhubs.transform.EventHubsCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.eventhubs.consume");

        if (message.getHeaders().containsKey(EventHubsConstants.PARTITION_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.eventhubs." + message.getHeader(EventHubsConstants.PARTITION_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(EventHubsConstants.SEQUENCE_NUMBER, Long.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1759 Negative (Non-Clone)
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #1760 Negative (Non-Clone)
ID: 103_80
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateUser(Keycloak keycloakClient, Exchange exchange)
    private void updateUser(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String userId = exchange.getIn().getHeader(KeycloakConstants.USER_ID, String.class);
        if (ObjectHelper.isEmpty(userId)) {
            throw new IllegalArgumentException(MISSING_USER_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof UserRepresentation) {
                keycloakClient.realm(realmName).users().get(userId).update((UserRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("User updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update user requires POJO request with UserRepresentation");
        }
    }
ID: 3250_2595
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteConfigurationRefs()
    protected void initRouteConfigurationRefs() throws Exception {
         
        if (getRouteConfigurationRefs() != null) {
            for (RouteConfigurationContextRefDefinition ref : getRouteConfigurationRefs()) {
                List<RouteConfigurationDefinition> defs = ref.lookupRouteConfigurations(getContext());
                for (RouteConfigurationDefinition def : defs) {
                    LOG.debug("Adding route configuration from {} -> {}", ref, def);
                    getRouteConfigurations().add(def);
                }
            }
        }
    }
Pair #1761 Negative (Non-Clone)
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1558_1379
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #1762 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
Pair #1763 Negative (Non-Clone)
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 1115_949
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {

        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);

        if (imageClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }

        String operation = ((ImageRecognitionEndpoint) super.getEndpoint()).getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation name cannot be empty");
        }
        switch (operation) {
            case ImageRecognitionConstants.OPERATION_CELEBRITY_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing celebrity recognition");
                }
                performCelebrityRecognitionOperation(exchange, clientConfigurations);
                break;
            case ImageRecognitionConstants.OPERATION_TAG_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing tag recognition");
                }
                performTagRecognitionOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation can only be either tagRecognition or celebrityRecognition");
        }
    }
Pair #1764 Negative (Non-Clone)
ID: 126_116
ClassID: 126
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
ID: 2462_1966
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.updatePids(Map<Long, Row> rows)
    private void updatePids(Map<Long, Row> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Row row = new Row();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #1765 Negative (Non-Clone)
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1766 Negative (Non-Clone)
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #1767 Negative (Non-Clone)
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1307_1151
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Nodes Consumer");
        if (executor != null) {
            KubernetesHelper.close(nodesWatcher, nodesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1768 Negative (Non-Clone)
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
ID: 382_425
ClassID: 382
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping JmsReplyManager: {} from processing replies from: {}", replyManager,
                            endpoint.getReplyTo() != null ? endpoint.getReplyTo() : "temporary queue");
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #1769 Negative (Non-Clone)
ID: 1310_1176
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace().list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
ID: 220_246
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.sheets.transform.GoogleSheetsStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.sheets.stream.consume");

        if (message.getHeaders().containsKey(GoogleSheetsStreamConstants.SPREADSHEET_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.sheets.stream." + message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GoogleSheetsStreamConstants.SPREADSHEET_URL));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #1770 Negative (Non-Clone)
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #1771 Negative (Non-Clone)
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1772 Negative (Non-Clone)
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
Pair #1773 Negative (Non-Clone)
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
Pair #1774 Negative (Non-Clone)
ID: 3229_2528
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.lowercaseExpression(final String expression)
    public static Expression lowercaseExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.toLowerCase(Locale.ENGLISH);
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "lowercase(" + expression + ")";
                } else {
                    return "lowercase()";
                }
            }
        };
    }
ID: 285_354
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toLong(JsonNode node, Exchange exchange)
    public Long toLong(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToLong()) {
                return nn.asLong();
            }
        }
        String text = node.asText();
        return Long.valueOf(text);
    }
Pair #1775 Negative (Non-Clone)
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #1776 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
Pair #1777 Negative (Non-Clone)
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 2024_1641
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn(
                    "Reply received for unknown correlationID [{}] on reply destination [{}]. Current correlation map size: {}. The message will be ignored: {}",
                    correlationID, replyTo, correlation.size(), message);
        }
    }
Pair #1778 Negative (Non-Clone)
ID: 174_137
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportDescription(String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback)
    public void getReportDescription(
            String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportsDescribeUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportDescription reportDescription = null;
                try {
                    reportDescription = unmarshalResponse(response, request, ReportDescription.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportDescription, headers, ex);
            }
        });
    }
ID: 3334_2734
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer)
    public static <T> Supplier<T> memorize(ThrowingSupplier<T, ? extends Exception> supplier, Consumer<Exception> consumer) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            try {
                                supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                                valueHolder.lazySet(supplied);
                            } catch (Exception e) {
                                consumer.accept(e);
                            }
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #1779 Negative (Non-Clone)
ID: 2613_2256
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JacksonXMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JacksonXMLDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("xmlMapper", definition.getXmlMapper());
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("include", definition.getInclude());
        properties.put("allowJmsType", definition.getAllowJmsType());
        properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
        properties.put("useList", definition.getUseList());
        properties.put("enableJaxbAnnotationModule", definition.getEnableJaxbAnnotationModule());
        properties.put("modulesClassNames", definition.getModuleClassNames());
        properties.put("moduleRefs", definition.getModuleRefs());
        properties.put("enableFeatures", definition.getEnableFeatures());
        properties.put("disableFeatures", definition.getDisableFeatures());
        properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
        properties.put("timezone", definition.getTimezone());
        properties.put("maxStringLength", definition.getMaxStringLength());
    }
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1780 Negative (Non-Clone)
ID: 1232_1057
ClassID: 1232
File: systems/camel-java/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssComponent.java
Name: org.apache.camel.component.rss.RssComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        RssEndpoint rss = (RssEndpoint) endpoint;
        if (rss.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            Map<String, Object> options = new LinkedHashMap<>(parameters);
            String query = URISupport.createQueryString(options);
            feedUri = remaining + "?" + query;
        } else {
            feedUri = remaining;
        }

        rss.setFeedUri(feedUri);
    }
ID: 697_635
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectList(Exchange exchange, SqlSession session)
    private void doSelectList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectList: {} using statement: {}", in, statement);
            result = session.selectList(statement, in);
        } else {
            LOG.trace("SelectList using statement: {}", statement);
            result = session.selectList(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #1781 Negative (Non-Clone)
ID: 485_513
ClassID: 485
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CamelResourceProvider.java
Name: org.apache.camel.component.cxf.jaxrs.CamelResourceProvider.getInstance(Message m)
    public Object getInstance(Message m) {
        Object result = null;
        if (provider != null) {
            result = provider.getInstance(m);
        } else {
             
            result = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz },
                    new SubResourceClassInvocationHandler());
        }
        return result;
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #1782 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 201_230
ClassID: 201
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqExpression.java
Name: org.apache.camel.language.jq.JqExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
Pair #1783 Negative (Non-Clone)
ID: 926_803
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor)
    GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #1784 Negative (Non-Clone)
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #1785 Negative (Non-Clone)
ID: 303_362
ClassID: 303
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/HttpMethodHelper.java
Name: org.apache.camel.tracing.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #1786 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 464_490
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.getEndpointConfiguration(GoogleDriveApiName apiName)
    public GoogleDriveConfiguration getEndpointConfiguration(GoogleDriveApiName apiName) {
        GoogleDriveConfiguration result = null;
        switch (apiName) {
            case DRIVE_ABOUT:
                result = new DriveAboutEndpointConfiguration();
                break;
            case DRIVE_CHANGES:
                result = new DriveChangesEndpointConfiguration();
                break;
            case DRIVE_CHANNELS:
                result = new DriveChannelsEndpointConfiguration();
                break;
            case DRIVE_COMMENTS:
                result = new DriveCommentsEndpointConfiguration();
                break;
            case DRIVE_DRIVES:
                result = new DriveDrivesEndpointConfiguration();
                break;
            case DRIVE_FILES:
                result = new DriveFilesEndpointConfiguration();
                break;
            case DRIVE_PERMISSIONS:
                result = new DrivePermissionsEndpointConfiguration();
                break;
            case DRIVE_REPLIES:
                result = new DriveRepliesEndpointConfiguration();
                break;
            case DRIVE_REVISIONS:
                result = new DriveRevisionsEndpointConfiguration();
                break;
            case DRIVE_TEAMDRIVES:
                result = new DriveTeamdrivesEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #1787 Negative (Non-Clone)
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
Pair #1788 Negative (Non-Clone)
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 3176_2450
ClassID: 3176
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
Name: org.apache.camel.support.LRUCacheFactory.getInstance()
    public static LRUCacheFactory getInstance() {
        if (instance == null) {
            LOCK.lock();
            try {
                if (instance == null) {
                    instance = createLRUCacheFactory();
                }
            } finally {
                LOCK.unlock();
            }
        }
        return instance;
    }
Pair #1789 Negative (Non-Clone)
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
Pair #1790 Negative (Non-Clone)
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
ID: 185_178
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getRequest(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getRequest(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchRequestUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #1791 Negative (Non-Clone)
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
Pair #1792 Negative (Non-Clone)
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
ID: 1718_1428
ClassID: 1718
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.ElasticsearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, ElasticsearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public ElasticsearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, ElasticsearchClient esClient,
                                              int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #1793 Negative (Non-Clone)
ID: 1499_1348
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16BE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
            }
        }

        return d;
    }
ID: 485_514
ClassID: 485
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
Name: org.apache.camel.catalog.DefaultVersionManager.getResourceAsStream(String name)
    public InputStream getResourceAsStream(String name) {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(name);
        }
        if (is == null) {
            is = DefaultCamelCatalog.class.getClassLoader().getResourceAsStream(name);
        }
        return is;
    }
Pair #1794 Negative (Non-Clone)
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
Pair #1795 Negative (Non-Clone)
ID: 744_672
ClassID: 744
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/DebeziumConsumer.java
Name: org.apache.camel.component.debezium.DebeziumConsumer.onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event)
    private void onEventListener(final ChangeEvent<SourceRecord, SourceRecord> event) {
        final Exchange exchange = endpoint.createDbzExchange(this, event.value());

        try {
             
            getProcessor().process(exchange);
        } catch (Exception ex) {
            exchange.setException(ex);
        } finally {
             
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange,
                        exchange.getException());
            }
            releaseExchange(exchange, false);
        }
    }
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
Pair #1796 Negative (Non-Clone)
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
Pair #1797 Negative (Non-Clone)
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
Pair #1798 Negative (Non-Clone)
ID: 241_307
ClassID: 241
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("AWS Secrets Manager:");
            sb.append(String.format("\n    Region: %s", propertiesFunction.getRegion()));
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                sb.append("\n    Login: DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                sb.append("\n    Login: ProfileCredentialsProvider");
            } else {
                sb.append("\n    Login: Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", aws.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", aws.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
Pair #1799 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1800 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
Pair #1801 Negative (Non-Clone)
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
ID: 1061_912
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptionMethod(Element element)
    private String findEncryptionMethod(Element element) {
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTIONMETHOD.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement.getAttributeNS(null, EncryptionConstants._ATT_ALGORITHM);
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #1802 Negative (Non-Clone)
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
ID: 1449_1305
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unexpectedRecord(UnexpectedRecordException ex)
    public void unexpectedRecord(UnexpectedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnexpectedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnexpectedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
Pair #1803 Negative (Non-Clone)
ID: 1139_983
ClassID: 1139
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
Name: org.apache.camel.component.github.GitHubEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (type == GitHubType.CLOSEPULLREQUEST) {
            return new ClosePullRequestProducer(this);
        } else if (type == GitHubType.PULLREQUESTCOMMENT) {
            return new PullRequestCommentProducer(this);
        } else if (type == GitHubType.PULLREQUESTSTATE) {
            return new PullRequestStateProducer(this);
        } else if (type == GitHubType.PULLREQUESTFILES) {
            return new PullRequestFilesProducer(this);
        } else if (type == GitHubType.GETCOMMITFILE) {
            return new GetCommitFileProducer(this);
        } else if (type == GitHubType.CREATEISSUE) {
            return new CreateIssueProducer(this);
        }
        throw new IllegalArgumentException("Cannot create producer with type " + type);
    }
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #1804 Negative (Non-Clone)
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #1805 Negative (Non-Clone)
ID: 53_69
ClassID: 53
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #1806 Negative (Non-Clone)
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
Pair #1807 Negative (Non-Clone)
ID: 2231_1751
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteTag(String operation)
    protected void doDeleteTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tagDelete().setTags(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2455_1952
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        String context = readResourceTemplate("templates/spring-boot-build-gradle.tmpl");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        String camelVersion = catalog.getLoadedVersion();

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceFirst("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceFirst("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElse(camelSpringBootVersion, camelVersion));

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(am.getVersion());
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(gradleBuild));
    }
Pair #1808 Negative (Non-Clone)
ID: 1189_1018
ClassID: 1189
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.getNextEntry()
    private ZipArchiveEntry getNextEntry() throws IOException {
        ZipArchiveEntry entry;

        while ((entry = zipInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 1321_1229
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesProducer.doDeleteNamespace(Exchange exchange)
    protected void doDeleteNamespace(Exchange exchange) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Delete a specific namespace require specify a namespace name");
            throw new IllegalArgumentException("Delete a specific namespace require specify a namespace name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().namespaces().withName(namespaceName).delete();
        boolean namespaceDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, namespaceDeleted);
    }
Pair #1809 Negative (Non-Clone)
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
ID: 103_83
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void createResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourcePermissionRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().permissions()
                        .resource().create((ResourcePermissionRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create permission requires POJO request with ResourcePermissionRepresentation");
        }
    }
Pair #1810 Negative (Non-Clone)
ID: 410_440
ClassID: 410
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 1130_967
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.receive(String requestUriPattern, HttpRequestHandler handler)
    public void receive(String requestUriPattern, HttpRequestHandler handler) {
        if (listenerThread != null) {
            lock.lock();
            try {
                listenerThread.registerHandler(requestUriPattern, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #1811 Negative (Non-Clone)
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1812 Negative (Non-Clone)
ID: 409_438
ClassID: 409
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setupJacksonXml(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat xml, DataFormat outXml)
    public void setupJacksonXml(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat xml, DataFormat outXml)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jacksonXml-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jacksonXml");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(xml);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("unmarshalTypeName", typeName);
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outXml);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("unmarshalTypeName", outTypeName);
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 1244_1070
ClassID: 1244
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
Name: org.apache.camel.component.influxdb.InfluxDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        InfluxDbEndpoint endpoint = new InfluxDbEndpoint(uri, this);
        endpoint.setConnectionBean(remaining);
        InfluxDB target = influxDB;
        if (target == null) {
             
            target = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, InfluxDB.class);
        }
        endpoint.setInfluxDB(target);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #1813 Negative (Non-Clone)
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
Pair #1814 Negative (Non-Clone)
ID: 685_625
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
Pair #1815 Negative (Non-Clone)
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
ID: 9_1
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, Cache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "Cache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
Pair #1816 Negative (Non-Clone)
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 3163_2415
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRandomLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRandomLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #1817 Negative (Non-Clone)
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
ID: 444_473
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketByteArrayDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketByteArrayDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            delegateDecoder.decode(ctx, (ByteBuf) msg.content(), out);
            byte[] content = (byte[]) out.remove(out.size() - 1);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(content, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #1818 Negative (Non-Clone)
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #1819 Negative (Non-Clone)
ID: 3206_2471
ClassID: 3206
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java
Name: org.apache.camel.main.MainSupport.internalBeforeStop()
    private void internalBeforeStop() {
        try {
            if (camelTemplate != null) {
                ServiceHelper.stopService(camelTemplate);
                camelTemplate = null;
            }
        } catch (Exception e) {
            LOG.debug("Error stopping camelTemplate due {}. This exception is ignored.", e.getMessage(), e);
        }
    }
ID: 3258_2614
ClassID: 3258
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/ClusterServiceSelectors.java
Name: org.apache.camel.support.cluster.ClusterServiceSelectors.select(Collection<CamelClusterService> services)
        public Optional<CamelClusterService> select(Collection<CamelClusterService> services) {
            Optional<Map.Entry<Integer, List<CamelClusterService>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(CamelClusterService::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple CamelClusterService instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #1820 Negative (Non-Clone)
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
Pair #1821 Negative (Non-Clone)
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 1307_1154
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping OpenShift DeploymentConfigs Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1822 Negative (Non-Clone)
ID: 452_482
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.moveFile(String fileId, String destinationFolderId, String newName)
    public BoxFile moveFile(String fileId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving file(id={}) to destination_folder(id={}) {}",
                    fileId, destinationFolderId,
                    newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.VERSION);
            BoxFile fileToMove = new BoxFile(boxConnection, fileId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFile) fileToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFile) fileToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2664_2345
ClassID: 2664
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/LogProcessor.java
Name: org.apache.camel.processor.LogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception: {} thrown by: {} caused by: {}", t.getClass().getName(),
                        listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
Pair #1823 Negative (Non-Clone)
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #1824 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
Pair #1825 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1826 Negative (Non-Clone)
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #1827 Negative (Non-Clone)
ID: 3109_2394
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteConfigurationsDefinition.java
Name: org.apache.camel.model.RouteConfigurationsDefinition.createRouteConfiguration(String id)
    protected RouteConfigurationDefinition createRouteConfiguration(String id) {
        RouteConfigurationDefinition config = new RouteConfigurationDefinition();
        if (id != null) {
            config.setId(id);
        }
        if (resource != null) {
            config.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(config, camelContext);
        return config;
    }
ID: 141_123
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.startInterrogation(ASDUAddress asduAddress, short qoi)
    public boolean startInterrogation(ASDUAddress asduAddress, short qoi) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot start interrogation: not connected or data module not initialized");
            return false;
        }
        try {
            context.startInterrogation(asduAddress, qoi);
            LOG.debug("Started interrogation for ASDU address {} with QOI {}", asduAddress, qoi);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to start interrogation", e);
            return false;
        }
    }
Pair #1828 Negative (Non-Clone)
ID: 3168_2433
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.stop()
    public void stop() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().stopRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error stopping route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #1829 Negative (Non-Clone)
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
Pair #1830 Negative (Non-Clone)
ID: 380_422
ClassID: 380
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQSendDynamicAware.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQSendDynamicAware.parseExchangeName(String uri)
    private String parseExchangeName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #1831 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
Pair #1832 Negative (Non-Clone)
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #1833 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 1203_1028
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doPublish(Exchange exchange, AsyncCallback callback)
    private void doPublish(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            throw new RuntimeCamelException("Cannot publish empty message");
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .publish()
                .message(body)
                .channel(getChannel(exchange))
                .usePOST(true)
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got publish message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #1834 Negative (Non-Clone)
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
Pair #1835 Negative (Non-Clone)
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 183_173
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.createSObjectMultipart(String sObjectName, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void createSObjectMultipart(
            String sObjectName, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request post = getRequest(HttpMethod.POST, sobjectsUrl(sObjectName), headers);

            setAccessToken(post);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("createSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                post.body(multipartContent);
            }

            doHttpRequest(post, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart request: " + e.getMessage(), e));
        }
    }
Pair #1836 Negative (Non-Clone)
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
Pair #1837 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
Pair #1838 Negative (Non-Clone)
ID: 3103_2381
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.reverse()
    public ResequenceDefinition reverse() {
        if (streamConfig != null) {
            throw new IllegalStateException("reverse() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setReverse(Boolean.toString(true));
        return this;
    }
ID: 749_675
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthClientCredentialsProcessor.java
Name: org.apache.camel.oauth.OAuthClientCredentialsProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var clientId = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_ID);
        var clientSecret = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_SECRET);

        var userProfile = oauth.authenticate(new ClientCredentials()
                .setClientSecret(clientSecret)
                .setClientId(clientId));

        session.putUserProfile(userProfile);
        log.info("Authenticated {}", userProfile.subject());
        userProfile.logDetails();

         
         
        var accessToken = userProfile.accessToken().orElseThrow(() -> new OAuthException("No access_token"));
        msg.setHeader("Authorization", "Bearer " + accessToken);
    }
Pair #1839 Negative (Non-Clone)
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #1840 Negative (Non-Clone)
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #1841 Negative (Non-Clone)
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 1011_876
ClassID: 1011
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Producer.java
Name: org.apache.camel.component.olingo4.Olingo4Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo4Constants.FULL_RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }
        return false;

    }
Pair #1842 Negative (Non-Clone)
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
ID: 18_24
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulHealthProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulHealthProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulHealthProducer target = (org.apache.camel.component.consul.endpoint.ConsulHealthProducer) obj;
        switch (key) {
        case "checks":
        case "CHECKS": target.checks(exchange.getMessage()); return null;
        case "node_checks":
        case "NODE_CHECKS": target.nodeChecks(exchange.getMessage()); return null;
        case "service_checks":
        case "SERVICE_CHECKS": target.serviceChecks(exchange.getMessage()); return null;
        case "service_instances":
        case "SERVICE_INSTANCES": target.serviceInstances(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1843 Negative (Non-Clone)
ID: 2603_2229
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getMapOrDefault(final String key, final T defaultValue)
    public <T extends Map<?, ?>> T getMapOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            returnable = defaultValue;
        }
        return (T) returnable;
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #1844 Negative (Non-Clone)
ID: 1240_1061
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SourceConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.smooks.api.io.Source.class, org.apache.camel.WrappedFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toURISource((org.apache.camel.WrappedFile) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, org.smooks.io.sink.JavaSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource((org.smooks.io.sink.JavaSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSourceWithoutEventStream.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSourceWithoutEventStream(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StreamSource.class, java.io.InputStream.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((java.io.InputStream) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStringSource((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
Pair #1845 Negative (Non-Clone)
ID: 3230_2530
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileOnlyNameNoExtensionExpression()
    public static Expression fileOnlyNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = fileOnlyNameExpression().evaluate(exchange, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:onlyname.noext";
            }
        };
    }
ID: 384_430
ClassID: 384
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!getEndpoint().isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1846 Negative (Non-Clone)
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1847 Negative (Non-Clone)
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
Pair #1848 Negative (Non-Clone)
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
ID: 259_341
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSas(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSas(
            final DataLakeConfiguration configuration) {
        AzureSasCredential sasCredential = configuration.getSasCredential();
        if (sasCredential == null) {
            LOG.trace("Using SAS signature to instantiate service client");
            sasCredential = new AzureSasCredential(configuration.getSasSignature());
        } else {
            LOG.trace("Using configured SAS instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sasCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #1849 Negative (Non-Clone)
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
Pair #1850 Negative (Non-Clone)
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #1851 Negative (Non-Clone)
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 1310_1176
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace().list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
Pair #1852 Negative (Non-Clone)
ID: 892_741
ClassID: 892
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlHelper.java
Name: org.apache.camel.component.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
            }
            answer = resolvePlaceholders(answer, placeholder);
        }
        return answer;
    }
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #1853 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
Pair #1854 Negative (Non-Clone)
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #1855 Negative (Non-Clone)
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
ID: 2508_2060
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.methods(ClassInfo ci)
    protected Set<MethodInfo> methods(ClassInfo ci) {
        Set<MethodInfo> methods = new TreeSet<>(Comparator.comparing(MethodInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            methods.addAll(current.methods());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return methods;
    }
Pair #1856 Negative (Non-Clone)
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #1857 Negative (Non-Clone)
ID: 767_695
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listVoices(Exchange exchange)
    private void listVoices(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        LOG.trace("Listing available voices");

        Voices voices = tts.listVoices().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voices.getVoices());
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #1858 Negative (Non-Clone)
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
ID: 1246_1075
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.valueOf(DirectoryChangeEvent.EventType directoryChangeEventType)
    public static FileEventEnum valueOf(DirectoryChangeEvent.EventType directoryChangeEventType) {
        switch (directoryChangeEventType) {
            case CREATE:
                return FileEventEnum.CREATE;
            case DELETE:
                return FileEventEnum.DELETE;
            case MODIFY:
                return FileEventEnum.MODIFY;
            default:
                return null;
        }
    }
Pair #1859 Negative (Non-Clone)
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
Pair #1860 Negative (Non-Clone)
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #1861 Negative (Non-Clone)
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #1862 Negative (Non-Clone)
ID: 2470_1999
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpointUri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1807_1482
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeDiffContainerRequest(DockerClient client, Message message)
    private ContainerDiffCmd executeDiffContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Diff Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ContainerDiffCmd diffContainerCmd = client.containerDiffCmd(containerId);

        String containerIdDiff
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID_DIFF, configuration, message, String.class);

        if (containerIdDiff != null) {
            diffContainerCmd.withContainerId(containerIdDiff);
        }

        return diffContainerCmd;

    }
Pair #1863 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2382_1873
ClassID: 2382
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TransactedDefinition.java
Name: org.apache.camel.model.TransactedDefinition.description()
    protected String description() {
        if (ref != null) {
            return "ref:" + ref;
        } else if (policy != null) {
            return policy.toString();
        } else {
            return "";
        }
    }
Pair #1864 Negative (Non-Clone)
ID: 2204_1733
ClassID: 2204
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
Name: org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.uread(final Edm edm, final String resourcePath, final Map<String, String> queryParams, final Map<String, String> endpointHttpHeaders, final Olingo2ResponseHandler<InputStream> responseHandler)
    public void uread(
            final Edm edm, final String resourcePath, final Map<String, String> queryParams,
            final Map<String, String> endpointHttpHeaders,
            final Olingo2ResponseHandler<InputStream> responseHandler) {

        final UriInfoWithType uriInfo = parseUri(edm, resourcePath, queryParams);

        execute(new HttpGet(createUri(resourcePath, encodeQueryParams(queryParams))), getResourceContentType(uriInfo),
                endpointHttpHeaders,
                new AbstractFutureCallback<InputStream>(responseHandler) {

                    @Override
                    public void onCompleted(HttpResponse result) throws IOException {
                        responseHandler.onResponse((result.getEntity() != null) ? result.getEntity().getContent() : null,
                                headersToMap(result.getAllHeaders()));
                    }

                });
    }
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #1865 Negative (Non-Clone)
ID: 220_260
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.queue.transform.AzureStorageQueueCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.queue.receiveMessages");

        if (message.getHeaders().containsKey(QueueConstants.MESSAGE_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.queue." + message.getHeader(QueueConstants.MESSAGE_ID, String.class));
        }

        if (message.getHeaders().containsKey(QueueConstants.POP_RECEIPT)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(QueueConstants.POP_RECEIPT, String.class));
        }
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.TEXT_PLAIN_MIME_TYPE);
    }
ID: 1218_1050
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePrices(Exchange exchange, String method)
    private Object handlePrices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Price.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Price.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String priceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Price price = Price.retrieve(priceId);
                return price.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Price.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for prices: " + method);
        }
    }
Pair #1866 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
Pair #1867 Negative (Non-Clone)
ID: 101_72
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validatePermissions(String accessToken, Exchange exchange)
    private void validatePermissions(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userPermissions;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userPermissions = KeycloakSecurityHelper.extractPermissionsFromIntrospection(introspectionResult);
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userPermissions = KeycloakSecurityHelper.extractPermissions(token);
            }

            boolean hasRequiredPermissions = policy.isAllPermissionsRequired()
                    ? userPermissions.containsAll(policy.getRequiredPermissionsAsList())
                    : policy.getRequiredPermissionsAsList().stream().anyMatch(userPermissions::contains);

            if (!hasRequiredPermissions) {
                String message = String.format("User does not have required permissions. Required: %s, User has: %s",
                        policy.getRequiredPermissions(), userPermissions);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Permission validation successful for user with permissions: {}", userPermissions);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate permissions", exchange, e);
        }
    }
ID: 385_431
ClassID: 385
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
Name: org.apache.camel.component.sjms.SjmsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (isTransacted() && getExchangePattern().isOutCapable()) {
            throw new IllegalArgumentException("SjmsProducer cannot be both transacted=true and exchangePattern=InOut");
        }

        Producer answer = new SjmsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(answer);
        } else {
            return answer;
        }
    }
Pair #1868 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #1869 Negative (Non-Clone)
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 898_756
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent.getClient(GoogleSheetsStreamConfiguration config)
    public Sheets getClient(GoogleSheetsStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #1870 Negative (Non-Clone)
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
Pair #1871 Negative (Non-Clone)
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
Pair #1872 Negative (Non-Clone)
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
Pair #1873 Negative (Non-Clone)
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
Pair #1874 Negative (Non-Clone)
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
ID: 2451_1944
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogTransformer.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findTransformerNames()) {
            TransformerModel model = catalog.transformerModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.description = model.getDescription();
                row.deprecated = model.isDeprecated();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #1875 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #1876 Negative (Non-Clone)
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
ID: 24_38
ClassID: 24
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #1877 Negative (Non-Clone)
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #1878 Negative (Non-Clone)
ID: 2527_2098
ClassID: 2527
File: systems/camel-java/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/Helper.java
Name: org.apache.camel.dsl.java.joor.Helper.determineImports(String content)
    public static List<String> determineImports(String content) {
        List<String> answer = new ArrayList<>();
        final Matcher matcher = IMPORT_PATTERN.matcher(content);
        while (matcher.find()) {
            String imp = matcher.group(1);
            imp = imp.trim();
            answer.add(imp);
        }
        return answer;
    }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #1879 Negative (Non-Clone)
ID: 1115_949
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {

        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);

        if (imageClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }

        String operation = ((ImageRecognitionEndpoint) super.getEndpoint()).getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation name cannot be empty");
        }
        switch (operation) {
            case ImageRecognitionConstants.OPERATION_CELEBRITY_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing celebrity recognition");
                }
                performCelebrityRecognitionOperation(exchange, clientConfigurations);
                break;
            case ImageRecognitionConstants.OPERATION_TAG_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing tag recognition");
                }
                performTagRecognitionOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation can only be either tagRecognition or celebrityRecognition");
        }
    }
ID: 2603_2229
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getMapOrDefault(final String key, final T defaultValue)
    public <T extends Map<?, ?>> T getMapOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            returnable = defaultValue;
        }
        return (T) returnable;
    }
Pair #1880 Negative (Non-Clone)
ID: 656_578
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToListOptions(Message message)
    private ContainerListOptions messageToListOptions(Message message) {
        ContainerListOptions options = message.getBody(ContainerListOptions.class);
        if (options == null) {
            Map headers = message.getHeaders();

            if (headers.containsKey(SwiftConstants.LIMIT)) {
                options = getListOptions(options).limit(message.getHeader(SwiftConstants.LIMIT, Integer.class));
            }

            if (headers.containsKey(SwiftConstants.MARKER)) {
                options = getListOptions(options).marker(message.getHeader(SwiftConstants.MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.END_MARKER)) {
                options = getListOptions(options).endMarker(message.getHeader(SwiftConstants.END_MARKER, String.class));
            }

            if (headers.containsKey(SwiftConstants.DELIMITER)) {
                options = getListOptions(options).delimiter(message.getHeader(SwiftConstants.DELIMITER, Character.class));
            }

            if (headers.containsKey(SwiftConstants.PATH)) {
                options = getListOptions(options).path(message.getHeader(SwiftConstants.PATH, String.class));
            }
        }
        return options;
    }
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
Pair #1881 Negative (Non-Clone)
ID: 3099_2371
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.enableCORS(boolean enableCORS)
    public RestDefinition enableCORS(boolean enableCORS) {
        if (getVerbs().isEmpty()) {
            this.enableCORS = Boolean.toString(enableCORS);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setEnableCORS(Boolean.toString(enableCORS));
        }

        return this;
    }
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
Pair #1882 Negative (Non-Clone)
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
ID: 1039_898
ClassID: 1039
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");
        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("netty-http", config);

         
        boolean cors = config.isEnableCORS();

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("netty-http", scheme, host, port, path, map);

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

        return consumer;
    }
Pair #1883 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
Pair #1884 Negative (Non-Clone)
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #1885 Negative (Non-Clone)
ID: 2327_1834
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentFromExchange(Exchange exchange)
    private Document createDocumentFromExchange(Exchange exchange) throws InvalidPayloadException {
         
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isNotEmpty(s3Bucket) && ObjectHelper.isNotEmpty(s3Object)) {
            S3Object.Builder s3ObjectBuilder = S3Object.builder()
                    .bucket(s3Bucket)
                    .name(s3Object);

            String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
            if (ObjectHelper.isEmpty(s3ObjectVersion)) {
                s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
            }
            if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
                s3ObjectBuilder.version(s3ObjectVersion);
            }

            return Document.builder()
                    .s3Object(s3ObjectBuilder.build())
                    .build();
        } else {
             
            byte[] documentBytes = exchange.getIn().getMandatoryBody(byte[].class);
            return Document.builder()
                    .bytes(SdkBytes.fromByteArray(documentBytes))
                    .build();
        }
    }
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
Pair #1886 Negative (Non-Clone)
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #1887 Negative (Non-Clone)
ID: 2363_1857
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode usage = node.get("usage");
            if (usage != null) {
                JsonNode outputTokens = usage.get("output_tokens");
                return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
            }
        }
        return null;
    }
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
Pair #1888 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 2295_1811
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        Object payload = exchange.getIn().getBody();
        if (requestClass.isInstance(payload)) {
            try {
                result = pojoExecutor.apply(requestClass.cast(payload));
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else if (headerExecutor != null) {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        } else {
            throw new IllegalArgumentException(
                    String.format("The %s operation expects a %s instance as body",
                            operationName, requestClass.getSimpleName()));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1889 Negative (Non-Clone)
ID: 1105_935
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to get user");
        }

         
        ShowUserRequest request = new ShowUserRequest()
                .withUserId(clientConfigurations.getUserId());
        ShowUserResponse response = iamClient.showUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
Pair #1890 Negative (Non-Clone)
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
ID: 1316_1218
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doScaleReplicationController(Exchange exchange)
    protected void doScaleReplicationController(Exchange exchange) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("Scale a specific replication controller require specify a replication controller name");
            throw new IllegalArgumentException(
                    "Scale a specific replication controller require specify a replication controller name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific replication controller require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific replication controller require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a replicas number");
        }
        ReplicationController rcScaled = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                .withName(rcName).scale(replicasNumber);

        prepareOutboundMessage(exchange, rcScaled.getStatus().getReplicas());
    }
Pair #1891 Negative (Non-Clone)
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1892 Negative (Non-Clone)
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 2597_2211
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getFloat(final int index)
    public Float getFloat(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #1893 Negative (Non-Clone)
ID: 2613_2256
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JacksonXMLDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JacksonXMLDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("xmlMapper", definition.getXmlMapper());
        properties.put("unmarshalType", or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()));
        properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("include", definition.getInclude());
        properties.put("allowJmsType", definition.getAllowJmsType());
        properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
        properties.put("useList", definition.getUseList());
        properties.put("enableJaxbAnnotationModule", definition.getEnableJaxbAnnotationModule());
        properties.put("modulesClassNames", definition.getModuleClassNames());
        properties.put("moduleRefs", definition.getModuleRefs());
        properties.put("enableFeatures", definition.getEnableFeatures());
        properties.put("disableFeatures", definition.getDisableFeatures());
        properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
        properties.put("timezone", definition.getTimezone());
        properties.put("maxStringLength", definition.getMaxStringLength());
    }
ID: 1874_1547
ClassID: 1874
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeEnvironment.java
Name: org.apache.camel.component.knative.spi.KnativeEnvironment.withMeta(String key, Enum<?> e)
        public KnativeServiceBuilder withMeta(String key, Enum<?> e) {
            if (key == null || e == null) {
                return this;
            }
            if (this.metadata == null) {
                this.metadata = new HashMap<>();
            }
            this.metadata.put(key, e.name());
            return this;
        }
Pair #1894 Negative (Non-Clone)
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #1895 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #1896 Negative (Non-Clone)
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 2494_2046
ClassID: 2494
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.KubernetesHelper.getKubernetesManifestPath(String clusterType, Path workingDir, String extension)
    public static Path getKubernetesManifestPath(String clusterType, Path workingDir, String extension) {
        String manifestFile;
        if (ClusterType.KIND.isEqualTo(clusterType) || ClusterType.MINIKUBE.isEqualTo(clusterType)) {
            manifestFile = "kubernetes";
        } else {
            manifestFile = Optional.ofNullable(clusterType).map(String::toLowerCase).orElse("kubernetes");
        }
        return workingDir.resolve("%s.%s".formatted(manifestFile, extension));
    }
Pair #1897 Negative (Non-Clone)
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #1898 Negative (Non-Clone)
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 401_434
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/GzipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        GzipCompressorInputStream unzipInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            unzipInput = new GzipCompressorInputStream(inputStream, true);
            IOHelper.copy(unzipInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, unzipInput, inputStream);
        }
    }
Pair #1899 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 738_664
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/oracle/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.drop.on.stop", logMiningBufferDropOnStop);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.host", openlogreplicatorHost);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.include.redo.sql", logMiningIncludeRedoSql);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "log.mining.readonly.hostname", logMiningReadonlyHostname);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.gap.size.min", logMiningScnGapDetectionGapSizeMin);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.default.ms", logMiningSleepTimeDefaultMs);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.increment", logMiningBatchSizeIncrement);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.scn.poll.interval.ms", logMiningArchiveLogOnlyScnPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "log.mining.restart.connection", logMiningRestartConnection);
        addPropertyIfNotNull(configBuilder, "legacy.decimal.handling.strategy", legacyDecimalHandlingStrategy);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.transactions", logMiningBufferInfinispanCacheTransactions);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.schemachanges.config", logMiningBufferEhcacheSchemachangesConfig);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "log.mining.strategy", logMiningStrategy);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.out.server.name", databaseOutServerName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "archive.log.hours", archiveLogHours);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "database.pdb.name", databasePdbName);
        addPropertyIfNotNull(configBuilder, "database.connection.adapter", databaseConnectionAdapter);
        addPropertyIfNotNull(configBuilder, "log.mining.flush.table.name", logMiningFlushTableName);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.source", openlogreplicatorSource);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.type", logMiningBufferType);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "log.mining.query.filter.mode", logMiningQueryFilterMode);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.default", logMiningBatchSizeDefault);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.processedtransactions.config", logMiningBufferEhcacheProcessedtransactionsConfig);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.global.config", logMiningBufferEhcacheGlobalConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.min.ms", logMiningSleepTimeMinMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.include.list", logMiningClientidIncludeList);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.exclude.list", logMiningClientidExcludeList);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "log.mining.username.include.list", logMiningUsernameIncludeList);
        addPropertyIfNotNull(configBuilder, "lob.enabled", lobEnabled);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.mode", logMiningArchiveLogOnlyMode);
        addPropertyIfNotNull(configBuilder, "log.mining.path.dictionary", logMiningPathDictionary);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.schema_changes", logMiningBufferInfinispanCacheSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.max.ms", logMiningSleepTimeMaxMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.username.exclude.list", logMiningUsernameExcludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.transactions.config", logMiningBufferEhcacheTransactionsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.processed_transactions", logMiningBufferInfinispanCacheProcessedTransactions);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.events", logMiningBufferInfinispanCacheEvents);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "archive.destination.name", archiveDestinationName);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.time.interval.max.ms", logMiningScnGapDetectionTimeIntervalMaxMs);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "rac.nodes", racNodes);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.global", logMiningBufferInfinispanCacheGlobal);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.transaction.events.threshold", logMiningBufferTransactionEventsThreshold);
        addPropertyIfNotNull(configBuilder, "log.mining.transaction.retention.ms", logMiningTransactionRetentionMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.database.errors.max.retries", snapshotDatabaseErrorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.port", openlogreplicatorPort);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.events.config", logMiningBufferEhcacheEventsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.max", logMiningBatchSizeMax);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "database.url", databaseUrl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.increment.ms", logMiningSleepTimeIncrementMs);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.session.max.ms", logMiningSessionMaxMs);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.min", logMiningBatchSizeMin);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #1900 Negative (Non-Clone)
ID: 2613_2259
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JaxbDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("objectFactory", definition.getObjectFactory());
        properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement());
        properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement());
        properties.put("filterNonXmlChars", definition.getFilterNonXmlChars());
        properties.put("fragment", definition.getFragment());
        properties.put("contextPath", definition.getContextPath());
        properties.put("contextPathIsClassName", definition.getContextPathIsClassName());
        properties.put("partClass", definition.getPartClass());
        properties.put("partNamespace", definition.getPartNamespace());
        properties.put("encoding", definition.getEncoding());
        properties.put("namespacePrefix", asRef(definition.getNamespacePrefix()));
        properties.put("schema", definition.getSchema());
        properties.put("schemaSeverityLevel", definition.getSchemaSeverityLevel());
        properties.put("xmlStreamWriterWrapper", definition.getXmlStreamWriterWrapper());
        properties.put("schemaLocation", definition.getSchemaLocation());
        properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation());
        properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties());
        properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols());
    }
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #1901 Negative (Non-Clone)
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
ID: 2270_1790
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.recreateEntityManagerIfNeeded()
    private void recreateEntityManagerIfNeeded() {
         
        if (entityManager == null) {
            if (getEndpoint().isSharedEntityManager()) {
                this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
            } else {
                this.entityManager = entityManagerFactory.createEntityManager();
            }
            LOG.trace("Recreated EntityManager {} on {}", entityManager, this);
        }
    }
Pair #1902 Negative (Non-Clone)
ID: 1783_1464
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.disconnect(HttpConsumer consumer)
    public void disconnect(HttpConsumer consumer) throws Exception {
         
        HttpCommonEndpoint endpoint = consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.computeIfPresent(connectorKey, (cKey, connectorRef) -> {
                try {
                    return disconnect(consumer, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #1903 Negative (Non-Clone)
ID: 2640_2283
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withExchangeProperties(Map<String, Object> properties)
    public FluentProducerTemplate withExchangeProperties(Map<String, Object> properties) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException(
                    "Cannot use both withExchangeProperties and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.exchangeProperties;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.exchangeProperties = map;
        }
        map.putAll(properties);
        return clone;
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #1904 Negative (Non-Clone)
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #1905 Negative (Non-Clone)
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #1906 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1907 Negative (Non-Clone)
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
ID: 1546_1362
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (leaderSelector == null || isStoppingOrStopped()) {
            return Optional.empty();
        }

        try {
            Participant participant = leaderSelector.getLeader();

            return ObjectHelper.equal(participant.getId(), localMember.getId())
                    ? Optional.of(localMember)
                    : Optional.of(new CuratorClusterMember(participant));
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get get master because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Optional.empty();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #1908 Negative (Non-Clone)
ID: 3163_2416
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWeightedLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedWeightedLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
Pair #1909 Negative (Non-Clone)
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #1910 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 1788_1467
ClassID: 1788
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        Reader reader = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
             
            reader = new XmlStreamReader(in);
            return createIterator(reader);
        } catch (Exception e) {
            exchange.setException(e);
             
            IOHelper.close(in, reader);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in, reader);
            }
        }
    }
Pair #1911 Negative (Non-Clone)
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
ID: 1753_1457
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
Name: org.apache.camel.component.stream.StreamConsumer.validateUri(String uri)
    private void validateUri(String uri) throws IllegalArgumentException {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }

        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
Pair #1912 Negative (Non-Clone)
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 275_347
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.scheduleMessages()
    private Consumer<Exchange> scheduleMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.scheduleMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);
                serviceBusSenderOperations.scheduleMessages(convertedBody,
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #1913 Negative (Non-Clone)
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #1914 Negative (Non-Clone)
ID: 1428_1282
ClassID: 1428
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/LogicalOperatorType.java
Name: org.apache.camel.language.simple.types.LogicalOperatorType.asOperator(String text)
    public static LogicalOperatorType asOperator(String text) {
        switch (text) {
            case "&&":
                return AND;
            case "||":
                return OR;
            default:
                throw new IllegalArgumentException("Operator not supported: " + text);
        }
    }
ID: 2258_1784
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/collection/FindCollectionOperation.java
Name: org.apache.camel.component.nitrite.operation.collection.FindCollectionOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        NitriteCollection collection = (NitriteCollection) endpoint.getNitriteCollection();
        if (filter != null && findOptions != null) {
            exchange.getMessage().setBody(collection.find(filter, findOptions));
        } else if (filter != null) {
            exchange.getMessage().setBody(collection.find(filter));
        } else {
            exchange.getMessage().setBody(collection.find());
        }

    }
Pair #1915 Negative (Non-Clone)
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #1916 Negative (Non-Clone)
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #1917 Negative (Non-Clone)
ID: 1233_1059
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400MsgQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400MsgQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #1918 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #1919 Negative (Non-Clone)
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
Pair #1920 Negative (Non-Clone)
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #1921 Negative (Non-Clone)
ID: 27_48
ClassID: 27
File: systems/camel-java/components/camel-syslog/src/generated/java/org/apache/camel/component/syslog/SyslogConverterLoader.java
Name: org.apache.camel.component.syslog.SyslogConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.syslog.SyslogMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toString((org.apache.camel.component.syslog.SyslogMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.syslog.SyslogMessage.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.syslog.SyslogConverter.toSyslogMessage((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #1922 Negative (Non-Clone)
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 2178_1715
ClassID: 2178
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CamelCommandHelper.java
Name: org.apache.camel.dsl.jbang.core.common.CamelCommandHelper.extractState(int status)
    public static String extractState(int status) {
        if (status <= 4) {
            return "Starting";
        } else if (status == 5) {
            return "Running";
        } else if (status == 6) {
            return "Suspending";
        } else if (status == 7) {
            return "Suspended";
        } else if (status == 8) {
            return "Terminating";
        } else if (status == 9) {
            return "Terminated";
        } else {
            return "Terminated";
        }
    }
Pair #1923 Negative (Non-Clone)
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
Pair #1924 Negative (Non-Clone)
ID: 903_779
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case LIST:
                apiProxy = getClient().calendarList();
                break;
            case ACL:
                apiProxy = getClient().acl();
                break;
            case CALENDARS:
                apiProxy = getClient().calendars();
                break;
            case CHANNELS:
                apiProxy = getClient().channels();
                break;
            case COLORS:
                apiProxy = getClient().colors();
                break;
            case EVENTS:
                apiProxy = getClient().events();
                break;
            case FREEBUSY:
                apiProxy = getClient().freebusy();
                break;
            case SETTINGS:
                apiProxy = getClient().settings();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #1925 Negative (Non-Clone)
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1926 Negative (Non-Clone)
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
Pair #1927 Negative (Non-Clone)
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #1928 Negative (Non-Clone)
ID: 1035_888
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addExactPath(final String path, final HttpHandler handler)
    public PathHandler addExactPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addExactPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
Pair #1929 Negative (Non-Clone)
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
ID: 304_366
ClassID: 304
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
Pair #1930 Negative (Non-Clone)
ID: 893_745
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaEndpoint.java
Name: org.apache.camel.component.chroma.ChromaEndpoint.getClient()
    public Client getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();

                    if (this.client == null) {
                        this.client = createClient();
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
Pair #1931 Negative (Non-Clone)
ID: 978_828
ClassID: 978
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe = decode(camelContext, inputStream, deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
Pair #1932 Negative (Non-Clone)
ID: 682_615
ClassID: 682
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                LongTaskTimer.Builder builder = LongTaskTimer.builder(namingStrategy.getLongTaskName(route))
                        .tags(route != null ? namingStrategy.getTags(route) : namingStrategy.getTags(camelContext))
                        .description(route != null ? "Route long task metric" : "CamelContext long task metric");
                if (configuration.getLongTaskInitiator() != null) {
                    configuration.getLongTaskInitiator().accept(builder);
                }
                longTaskTimer = builder.register(meterRegistry);
            }
        }
ID: 27_46
ClassID: 27
File: systems/camel-java/components/camel-tahu/src/generated/java/org/apache/camel/component/tahu/TahuEdgePayloadConverterLoader.java
Name: org.apache.camel.component.tahu.TahuEdgePayloadConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().exchangeToSparkplugBPayload((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.eclipse.tahu.message.model.SparkplugBPayload.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = getTahuEdgePayloadConverter().messageToSparkplugBPayload((org.apache.camel.Message) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #1933 Negative (Non-Clone)
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #1934 Negative (Non-Clone)
ID: 970_811
ClassID: 970
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
Name: org.apache.camel.component.sql.DefaultSqlEndpoint.doStart()
    protected void doStart() throws Exception {
        if (isServiceLocationEnabled()) {
             
            BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext());
            DataSource ds = getDataSource();
             
            if (ds != null && ds.getClass().getName().endsWith("ClientProxy")) {
                DataSource actual = UnwrapHelper.unwrapClientProxy(ds);
                if (actual != null) {
                    ds = actual;
                }
            }
            serviceUrl = SqlServiceLocationHelper.getJDBCURLFromDataSource(bi, ds);

            serviceMetadata = new HashMap<>();
            String user = SqlServiceLocationHelper.getUsernameFromConnectionFactory(bi, ds);
            if (user != null) {
                serviceMetadata.put("username", user);
            }
        }
    }
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
Pair #1935 Negative (Non-Clone)
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
Pair #1936 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
Pair #1937 Negative (Non-Clone)
ID: 1719_1433
ClassID: 1719
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #1938 Negative (Non-Clone)
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #1939 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
Pair #1940 Negative (Non-Clone)
ID: 1752_1456
ClassID: 1752
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/FileWatcherResourceReloadStrategy.java
Name: org.apache.camel.support.FileWatcherResourceReloadStrategy.registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher)
    private WatchKey registerPathToWatcher(WatchEvent.Modifier modifier, Path path, WatchService watcher) throws IOException {
        WatchKey key;
        if (modifier != null) {
            key = path.register(watcher, new WatchEvent.Kind<?>[] { ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE }, modifier);
        } else {
            key = path.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
        }
        return key;
    }
ID: 3220_2505
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            key = key.toUpperCase(Locale.ENGLISH).replace('-', '_');

             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);

            if (host != null && port != null) {
                return host + ":" + port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #1941 Negative (Non-Clone)
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 1720_1435
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #1942 Negative (Non-Clone)
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #1943 Negative (Non-Clone)
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #1944 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 452_479
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.copyFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder copyFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Copying folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");

            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToCopy = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return folderToCopy.copy(destinationFolder).getResource();
            } else {
                return folderToCopy.copy(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
Pair #1945 Negative (Non-Clone)
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
ID: 378_413
ClassID: 378
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/QueueReplyManager.java
Name: org.apache.camel.component.sjms.reply.QueueReplyManager.createDestination(Session session, String destinationName, boolean topic)
        public Destination createDestination(Session session, String destinationName, boolean topic) throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.createDestination(session, destinationName, topic);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
Pair #1946 Negative (Non-Clone)
ID: 1306_1141
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.getLocalTimestamp(ConfigMap configMap, String group)
    private static Date getLocalTimestamp(ConfigMap configMap, String group) {
        String timestamp = getConfigMapValue(configMap, LOCAL_TIMESTAMP_PREFIX + group);
        if (timestamp == null) {
            return null;
        }

        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).parse(timestamp);
        } catch (Exception e) {
            LOG.warn("Unable to parse time string '{}' using format {}", timestamp, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 749_674
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthCodeFlowProcessor.java
Name: org.apache.camel.oauth.OAuthCodeFlowProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var postLoginUrl = getPostLoginUrl(msg);
        log.info("Register post login url: {}", postLoginUrl);
        session.putValue("OAuthPostLoginUrl", postLoginUrl);

        var redirectUri = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_REDIRECT_URI);
        var params = new OAuthCodeFlowParams().setRedirectUri(redirectUri);
        var authRequestUrl = oauth.buildCodeFlowAuthRequestUrl(params);

        sendRedirect(msg, authRequestUrl);
    }
Pair #1947 Negative (Non-Clone)
ID: 1377_1240
ClassID: 1377
File: systems/camel-java/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/support/SplunkDataReader.java
Name: org.apache.camel.component.splunk.support.SplunkDataReader.nonBlockingSearch(SplunkResultProcessor callback)
    private List<SplunkEvent> nonBlockingSearch(SplunkResultProcessor callback) throws Exception {
        LOG.debug("non block search start");

        JobArgs queryArgs = new JobArgs();
        queryArgs.setExecutionMode(ExecutionMode.NORMAL);
        Calendar startTime = Calendar.getInstance();
        populateArgs(queryArgs, startTime, false);

        List<SplunkEvent> data = runQuery(queryArgs, false, callback);
        lastSuccessfulReadTime = startTime;
        return data;
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #1948 Negative (Non-Clone)
ID: 891_738
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:datasetId:tableName\"");
        }

        GoogleBigQueryConfiguration conf = configuration != null ? configuration.copy() : new GoogleBigQueryConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQueryEndpoint endpoint = new GoogleBigQueryEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
Pair #1949 Negative (Non-Clone)
ID: 3161_2407
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedConsumer(String id, Class<T> type)
    public <T extends ManagedConsumerMBean> T getManagedConsumer(String id, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(id);
        if (route != null) {
            try {
                Consumer consumer = route.getConsumer();
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
                        consumer);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1916_1582
ClassID: 1916
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.warn(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                TransactionOptions tOpts = TransactionOptions.defaults();
                RTransaction transaction = redisson.createTransaction(tOpts);

                try {
                    RMap<String, DefaultExchangeHolder> tCache = transaction.getMap(mapName);
                    RMap<String, DefaultExchangeHolder> tPersistentCache = transaction.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    transaction.commit();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    transaction.rollback();

                    final String msg = String.format(
                            "Transaction was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeException(msg, throwable);
                }
            } else {
                cache.remove(key);
            }
        }
    }
Pair #1950 Negative (Non-Clone)
ID: 2492_2042
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureProperties(Traits traitsSpec, String[] properties)
    public static void configureProperties(Traits traitsSpec, String[] properties) {
        if (properties == null || properties.length == 0) {
            return;
        }

        Camel camelTrait = Optional.ofNullable(traitsSpec.getCamel()).orElseGet(Camel::new);
        if (camelTrait.getProperties() == null) {
            camelTrait.setProperties(new ArrayList<>());
        }
        camelTrait.getProperties().addAll(List.of(properties));
        traitsSpec.setCamel(camelTrait);
    }
ID: 1184_1006
ClassID: 1184
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        if (usingIterator) {
            ZipIterator zipIterator = new ZipIterator(exchange, inputStream);
            zipIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return zipIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(inputStream);
            ZipArchiveInputStream zis = new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.ZIP, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                ZipArchiveEntry entry = zis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(zis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to unzip the file, it may be corrupted.");
                }

                entry = zis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Zip file has more than 1 entry.");
                }

                return osb.build();
            } finally {
                IOHelper.close(osb, zis, bis);
            }
        }
    }
Pair #1951 Negative (Non-Clone)
ID: 2438_1912
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GistHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GistHelper.resolveGistAsRawFiles(String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGistAsRawFiles(
            String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root.get("files")) {
                String name = c.get("filename").asText();
                String ext = FileUtil.onlyExt(name, false);
                if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    kamelets.add(u);
                } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    properties.add(u);
                } else if (routes != null) {
                    if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                            || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                        String rawUrl = c.get("raw_url").asText();
                        String u = asGistSingleUrl(rawUrl);
                        routes.add(u);
                    }
                } else if (all != null) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    all.add(u);
                }
            }
        }
    }
ID: 1853_1506
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PublicKey importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPublicKey(keyData);
        } else {
            derBytes = keyData;
        }

        X509EncodedKeySpec spec = new X509EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePublic(spec);
    }
Pair #1952 Negative (Non-Clone)
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 685_624
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1953 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #1954 Negative (Non-Clone)
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 190_211
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeSObjectCollectionsProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        final String apiVersion = configuration.getApiVersion();

        compositeClient = new DefaultCompositeSObjectCollectionsApiClient(
                configuration, apiVersion, session, httpClient, loginConfig);

        if (classMap == null) {
            this.classMap = endpoint.getComponent().getClassMap();
        }
        ServiceHelper.startService(compositeClient);
    }
Pair #1955 Negative (Non-Clone)
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 1784_1465
ClassID: 1784
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.getSocketConnector(Server server, JettyHttpEndpoint endpoint)
    protected Connector getSocketConnector(Server server, JettyHttpEndpoint endpoint) {
        Connector answer = null;
        if (socketConnectors != null) {
            answer = socketConnectors.get(endpoint.getPort());
        }
        if (answer == null) {
            answer = createConnector(server, endpoint);
        }
        return answer;
    }
Pair #1956 Negative (Non-Clone)
ID: 1788_1467
ClassID: 1788
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        Reader reader = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
             
            reader = new XmlStreamReader(in);
            return createIterator(reader);
        } catch (Exception e) {
            exchange.setException(e);
             
            IOHelper.close(in, reader);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in, reader);
            }
        }
    }
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #1957 Negative (Non-Clone)
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
Pair #1958 Negative (Non-Clone)
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 3271_2644
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
Pair #1959 Negative (Non-Clone)
ID: 2637_2272
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, Class<T> type)
    public <T> T receiveBody(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 2575_2163
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DevConsoleModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
        annotations.forEach(a -> {
            DevConsoleModel model = new DevConsoleModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setGroup(annotationValue(a, "group"));
            model.setName(annotationValue(a, "name"));
            model.setDisplayName(annotationValue(a, "displayName"));
            model.setDescription(annotationValue(a, "description"));
             
            boolean skip = "default-registry".equals(model.getName());
            if (!skip) {
                models.add(model);
            }
        });
        models.sort(Comparator.comparing(DevConsoleModel::getName));

         

        if (!models.isEmpty()) {
            try {
                StringJoiner ids = new StringJoiner(" ");
                for (var model : models) {
                    ids.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/org/apache/camel/dev-console/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated dev-console json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "dev-consoles", ids.toString());
                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
                              + (count > 1 ? "consoles: " : "console: ") + ids);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
Pair #1960 Negative (Non-Clone)
ID: 1402_1249
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.createReplaceSmTempate(Exchange exchange)
    protected ReplaceSm createReplaceSmTempate(Exchange exchange) {
        Message in = exchange.getIn();
        ReplaceSm replaceSm = new ReplaceSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            replaceSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            replaceSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            replaceSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            replaceSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            replaceSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            replaceSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            replaceSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
            replaceSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, Byte.class));
        } else {
            replaceSm.setRegisteredDelivery(config.getRegisteredDelivery());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            replaceSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                replaceSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                replaceSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        return replaceSm;
    }
ID: 2515_2073
ClassID: 2515
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationId(String location)
    public static String extractSourceLocationId(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            return location.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #1961 Negative (Non-Clone)
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
ID: 18_28
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulEventProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj;
        switch (key) {
        case "fire":
        case "FIRE": target.fire(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #1962 Negative (Non-Clone)
ID: 2528_2100
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
Name: org.apache.camel.main.download.KnownDependenciesResolver.doLoadKnownDependencies(String name)
    private void doLoadKnownDependencies(String name) {
        try {
            Enumeration<URL> resources = getClass().getClassLoader().getResources(name);
            while (resources.hasMoreElements()) {
                URL resource = resources.nextElement();
                try (InputStream is = resource.openStream()) {
                    Properties prop = new Properties();
                    prop.load(is);
                    Map<String, String> map = new HashMap<>();
                    for (String key : prop.stringPropertyNames()) {
                        String value = prop.getProperty(key);
                        map.put(key, value);
                    }
                    addMappings(map);
                }
            }
        } catch (Exception e) {
             
        }
    }
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
Pair #1963 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #1964 Negative (Non-Clone)
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #1965 Negative (Non-Clone)
ID: 1410_1262
ClassID: 1410
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
Name: org.apache.camel.component.cometd.CometdEndpoint.getPort()
    public int getPort() {
        if (uri.getPort() == -1) {
            if ("cometds".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return uri.getPort();
    }
ID: 2612_2253
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateLanguageModel(JsonObject obj)
    public static LanguageModel generateLanguageModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("language");
        LanguageModel model = new LanguageModel();
        parseModel(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            LanguageOptionModel option = new LanguageOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        JsonObject mprf = (JsonObject) obj.get("functions");
        if (mprf != null) {
            for (Map.Entry<String, Object> entry : mprf.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                LanguageModel.LanguageFunctionModel func = new LanguageModel.LanguageFunctionModel();
                parseFunction(mp, func, entry.getKey());
                model.addFunction(func);
            }
        }
        return model;
    }
Pair #1966 Negative (Non-Clone)
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #1967 Negative (Non-Clone)
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #1968 Negative (Non-Clone)
ID: 305_368
ClassID: 305
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/RestSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
Pair #1969 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #1970 Negative (Non-Clone)
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #1971 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
Pair #1972 Negative (Non-Clone)
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #1973 Negative (Non-Clone)
ID: 3209_2480
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
Name: org.apache.camel.impl.console.SourceDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(SourceDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
Pair #1974 Negative (Non-Clone)
ID: 2041_1648
ClassID: 2041
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.doShutdown()
    protected void doShutdown() throws Exception {
        super.doShutdown();

        if (cloudTrailClient != null) {
            try {
                cloudTrailClient.close();
            } catch (Exception e) {
                 
            }
            cloudTrailClient = null;
        }

        if (sqsClient != null) {
            try {
                sqsClient.close();
            } catch (Exception e) {
                 
            }
            sqsClient = null;
        }

        updates.clear();
    }
ID: 3257_2612
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.startView(String namespace)
    public void startView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force start of view {}", namespace);
                        holder.startView();
                    } else {
                        LOG.warn("Error forcing start of view {}: it does not exist", namespace);
                    }
                });
    }
Pair #1975 Negative (Non-Clone)
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
Pair #1976 Negative (Non-Clone)
ID: 3112_2401
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.before()
    public ProcessorDefinition<?> before() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.beforeById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.beforeByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.beforeByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
Pair #1977 Negative (Non-Clone)
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #1978 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #1979 Negative (Non-Clone)
ID: 234_285
ClassID: 234
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                LOG.debug("Auto creating directory: {}", endpointPath);
                try {
                    connectIfNecessary();
                    getOperations().buildDirectory(endpointPath, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn("Error auto creating directory: {} due to {}. This exception is ignored.", endpointPath,
                            e.getMessage(),
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #1980 Negative (Non-Clone)
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #1981 Negative (Non-Clone)
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 618_558
ClassID: 618
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
Name: org.apache.camel.component.file.remote.RemoteFileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #1982 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #1983 Negative (Non-Clone)
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
Pair #1984 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 2314_1827
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SecretsManagerClientBuilder clientBuilder = SecretsManagerClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Secrets Manager Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #1985 Negative (Non-Clone)
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #1986 Negative (Non-Clone)
ID: 1161_992
ClassID: 1161
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            new RouteBuilder() {
                @Override
                public void configure() {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            }.addRoutesToCamelContext(context);

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 2294_1808
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.deleteCluster(EksClient eksClient, Exchange exchange)
    private void deleteCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                eksClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.deleteCluster(DeleteClusterRequest.builder().name(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #1987 Negative (Non-Clone)
ID: 1253_1092
ClassID: 1253
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.createErrorHandler(Processor processor)
    public Processor createErrorHandler(Processor processor) throws Exception {
         
        TransactionTemplate transactionTemplate = resolveTransactionTemplate(definition);
        ObjectHelper.notNull(transactionTemplate, "transactionTemplate", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        TransactionErrorHandler answer = new TransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionTemplate,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));
         
        configure(answer);
        return answer;
    }
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
Pair #1988 Negative (Non-Clone)
ID: 2463_1970
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.readReceiveFiles(Map<Long, Pid> pids)
    private int readReceiveFiles(Map<Long, Pid> pids) throws Exception {
        int lines = 0;

        for (Pid pid : pids.values()) {
            if (pid.reader == null) {
                Path file = getReceiveFile(pid.pid);
                if (Files.exists(file)) {
                    pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        pid.reader.skip(size);
                    }
                }
            }
            if (pid.reader != null) {
                String line;
                do {
                    try {
                        line = pid.reader.readLine();
                        if (line != null) {
                            lines++;
                             
                            if (pid.fifo == null || pid.fifo instanceof ArrayBlockingQueue) {
                                pid.fifo = new ArrayDeque<>();
                            }
                            pid.fifo.offer(line);
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 1123_955
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.createBucket(Exchange exchange, ClientConfigurations clientConfigurations)
    private void createBucket(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        CreateBucketRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof CreateBucketRequest) {
            request = (CreateBucketRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, CreateBucketRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a CreateBucketRequest. Attempting to create a bucket from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to create bucket");
            }

             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketLocation())) {
                LOG.warn("No bucket location given, defaulting to '{}'", OBSConstants.DEFAULT_LOCATION);
                clientConfigurations.setBucketLocation(OBSConstants.DEFAULT_LOCATION);
            }
             
            OBSRegion.checkValidRegion(clientConfigurations.getBucketLocation());

            request = new CreateBucketRequest(clientConfigurations.getBucketName(), clientConfigurations.getBucketLocation());
        }

         
        ObsBucket response = obsClient.createBucket(request);
        exchange.getMessage().setBody(gson.toJson(response));
    }
Pair #1989 Negative (Non-Clone)
ID: 1311_1192
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsProducer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsProducer.doListEventsByLabel(Exchange exchange)
    protected void doListEventsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_EVENTS_LABELS, Map.class);
        EventList eventList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get events by labels require specify a labels set");
            throw new IllegalArgumentException("Get events by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace().withLabels(labels).list();
        } else {
            eventList = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, eventList.getItems());
    }
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #1990 Negative (Non-Clone)
ID: 749_675
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthClientCredentialsProcessor.java
Name: org.apache.camel.oauth.OAuthClientCredentialsProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var clientId = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_ID);
        var clientSecret = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_SECRET);

        var userProfile = oauth.authenticate(new ClientCredentials()
                .setClientSecret(clientSecret)
                .setClientId(clientId));

        session.putUserProfile(userProfile);
        log.info("Authenticated {}", userProfile.subject());
        userProfile.logDetails();

         
         
        var accessToken = userProfile.accessToken().orElseThrow(() -> new OAuthException("No access_token"));
        msg.setHeader("Authorization", "Bearer " + accessToken);
    }
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
Pair #1991 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
Pair #1992 Negative (Non-Clone)
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
Pair #1993 Negative (Non-Clone)
ID: 1428_1283
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/Importance.java
Name: org.apache.camel.component.as2.api.entity.Importance.get(String importance)
    public static Importance get(String importance) {
        if (importance == null) {
            return null;
        }

        switch (importance.toLowerCase()) {
            case "required":
                return REQUIRED;
            case "optional":
                return OPTIONAL;
            default:
                return null;
        }
    }
ID: 438_457
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(consumer.getConfiguration().isClientMode());
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #1994 Negative (Non-Clone)
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #1995 Negative (Non-Clone)
ID: 239_295
ClassID: 239
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/vault/PubsubReloadTriggerTask.java
Name: org.apache.camel.component.google.secret.manager.vault.PubsubReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1692_1418
ClassID: 1692
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
Name: org.apache.camel.impl.engine.DefaultInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
             
            CamelContextAware.trySetCamelContext(answer, camelContext);
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #1996 Negative (Non-Clone)
ID: 1692_1417
ClassID: 1692
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Name: org.apache.camel.spring.spi.SpringInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
ID: 2095_1689
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginUploading(String host, String file)
    public void onBeginUploading(String host, String file) {
        download = false;
        watch.restart();
        interval.restart();
        String msg = "Uploading to host: " + host + " file: " + file + " starting";
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
Pair #1997 Negative (Non-Clone)
ID: 306_372
ClassID: 306
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/messaging/KafkaSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.messaging.KafkaSegmentDecorator.pre(Entity segment, Exchange exchange, Endpoint endpoint)
    public void pre(Entity segment, Exchange exchange, Endpoint endpoint) {
        super.pre(segment, exchange, endpoint);

        String partition = (String) exchange.getIn().getHeader(PARTITION);
        if (partition != null) {
            segment.putMetadata(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = (String) exchange.getIn().getHeader(PARTITION_KEY);
        if (partitionKey != null) {
            segment.putMetadata(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = (String) exchange.getIn().getHeader(KEY);
        if (key != null) {
            segment.putMetadata(KAFKA_KEY_TAG, key);
        }

        String offset = (String) exchange.getIn().getHeader(OFFSET);
        if (offset != null) {
            segment.putMetadata(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #1998 Negative (Non-Clone)
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
ID: 689_630
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpdate(Exchange exchange, String tableName)
    private void doUpdate(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Update on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Update update = table.newUpdate();
        PartialRow row = update.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(update);
    }
Pair #1999 Negative (Non-Clone)
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #2000 Negative (Non-Clone)
ID: 2439_1915
ClassID: 2439
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/bind/ObjectReferenceBindingProvider.java
Name: org.apache.camel.dsl.jbang.core.commands.bind.ObjectReferenceBindingProvider.getNamespace(String uriExpression)
    protected String getNamespace(String uriExpression) {
        String namespacedName = uriExpression;
        if (uriExpression.contains("?")) {
            namespacedName = StringHelper.before(uriExpression, "?");
        }

        if (namespacedName.contains("/")) {
            return namespacedName.split("/", 2)[0];
        }

        return null;
    }
ID: 2465_1977
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
Pair #2001 Negative (Non-Clone)
ID: 103_81
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createResource(Keycloak keycloakClient, Exchange exchange)
    private void createResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources()
                        .create((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            throw new IllegalArgumentException("Create resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2002 Negative (Non-Clone)
ID: 1555_1374
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JoorAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Joor) {
            Joor joorAnnotation = (Joor) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("joor").createExpression(expression, params);
    }
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #2003 Negative (Non-Clone)
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #2004 Negative (Non-Clone)
ID: 189_201
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetJob(Exchange exchange, AsyncCallback callback)
    private void processGetJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        Job job = exchange.getIn().getBody(Job.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #2005 Negative (Non-Clone)
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 2054_1677
ClassID: 2054
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/BrowsableEndpoint.java
Name: org.apache.camel.spi.BrowsableEndpoint.getBrowseStatus(int limit)
    default BrowseStatus getBrowseStatus(int limit) {
        List<Exchange> list = getExchanges();
        long ts = 0;
        long ts2 = 0;
        if (!list.isEmpty()) {
            ts = list.get(0).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
            ts2 = list.get(list.size() - 1).getMessage().getHeader(Exchange.MESSAGE_TIMESTAMP, 0L, long.class);
        }
        return new BrowseStatus(list.size(), ts, ts2);
    }
Pair #2006 Negative (Non-Clone)
ID: 1995_1639
ClassID: 1995
File: systems/camel-java/components/camel-log/src/main/java/org/apache/camel/component/log/LogComponent.java
Name: org.apache.camel.component.log.LogComponent.doInit()
    protected void doInit() throws Exception {
        DefaultExchangeFormatter def = new DefaultExchangeFormatter();
        def.setShowExchangePattern(true);
        def.setSkipBodyLineSeparator(true);
        def.setShowBody(true);
        def.setShowBodyType(true);
        def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
        def.setMaxChars(10000);
        this.defaultExchangeFormatter = def;
    }
ID: 1107_939
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(IAMProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No operation name given. Cannot proceed with IAM operations.");
            }
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.OPERATION))
                            ? (String) exchange.getProperty(IAMProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                || ObjectHelper.isNotEmpty(endpoint.getUserId())) {
            clientConfigurations.setUserId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                            ? (String) exchange.getProperty(IAMProperties.USER_ID)
                            : endpoint.getUserId());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                || ObjectHelper.isNotEmpty(endpoint.getGroupId())) {
            clientConfigurations.setGroupId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                            ? (String) exchange.getProperty(IAMProperties.GROUP_ID)
                            : endpoint.getGroupId());
        }
    }
Pair #2007 Negative (Non-Clone)
ID: 1332_1237
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestAggregationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestAggregationStreamObserver.onCompleted()
    public void onCompleted() {
        CountDownLatch latch = new CountDownLatch(1);

        exchange.getIn().setBody(requestList);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> {
            latch.countDown();
        });

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
            responseObserver.onCompleted();
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);
        }
    }
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
Pair #2008 Negative (Non-Clone)
ID: 2638_2277
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(String endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            String endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
Pair #2009 Negative (Non-Clone)
ID: 3180_2458
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(InputStream in, Exchange exchange)
    public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLStreamReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLStreamReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 3252_2604
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.createInstance()
    protected KeyManagersParameters createInstance() throws Exception {
        KeyManagersParameters newInstance = new KeyManagersParameters();

        newInstance.setAlgorithm(algorithm);
        newInstance.setKeyPassword(keyPassword);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        return newInstance;
    }
Pair #2010 Negative (Non-Clone)
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2011 Negative (Non-Clone)
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #2012 Negative (Non-Clone)
ID: 436_451
ClassID: 436
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-common-component/src/main/java/org/apache/camel/component/debezium/configuration/EmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration.copy()
    public Object copy() {
        try {
            EmbeddedDebeziumConfiguration answer = (EmbeddedDebeziumConfiguration) clone();
             
            Map<String, Object> additionalPropertiesCopy = new HashMap<>(additionalProperties);
            answer.setAdditionalProperties(additionalPropertiesCopy);
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #2013 Negative (Non-Clone)
ID: 172_132
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isCompositeSObjectCollectionsOperation(OperationName operationName)
    private static boolean isCompositeSObjectCollectionsOperation(OperationName operationName) {
        switch (operationName) {
            case COMPOSITE_CREATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPDATE_SOBJECT_COLLECTIONS:
            case COMPOSITE_UPSERT_SOBJECT_COLLECTIONS:
            case COMPOSITE_RETRIEVE_SOBJECT_COLLECTIONS:
            case COMPOSITE_DELETE_SOBJECT_COLLECTIONS:
                return true;
            default:
                return false;
        }
    }
ID: 18_28
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulEventProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj;
        switch (key) {
        case "fire":
        case "FIRE": target.fire(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2014 Negative (Non-Clone)
ID: 2362_1852
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void startIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof StartIngestionJobRequest) {
                StartIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.startIngestionJob((StartIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            StartIngestionJobRequest.Builder builder = StartIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            StartIngestionJobResponse output = bedrockAgentClient.startIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareIngestionJobResponse(output, message);
        }
    }
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #2015 Negative (Non-Clone)
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
Pair #2016 Negative (Non-Clone)
ID: 1498_1344
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePCL(String flavor)
    public DocFlavor forMimeTypePCL(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PCL;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PCL;
        }

        return d;
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #2017 Negative (Non-Clone)
ID: 103_86
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResource(Keycloak keycloakClient, Exchange exchange)
    private void updateResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String resourceId = exchange.getIn().getHeader(KeycloakConstants.RESOURCE_ID, String.class);
        if (ObjectHelper.isEmpty(resourceId)) {
            throw new IllegalArgumentException("Resource ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources().resource(resourceId)
                        .update((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Resource updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update resource requires POJO request with ResourceRepresentation");
        }
    }
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #2018 Negative (Non-Clone)
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
ID: 1307_1152
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        LOG.debug("Stopping Kubernetes Services Consumer");
        if (executor != null) {
            KubernetesHelper.close(servicesWatcher, servicesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2019 Negative (Non-Clone)
ID: 1938_1588
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doInit()
    protected void doInit() throws Exception {
        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
Pair #2020 Negative (Non-Clone)
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
ID: 1975_1611
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomCvPredictor.predict(Exchange exchange, Image image)
    protected T predict(Exchange exchange, Image image) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Image, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, image);
        try (Predictor<Image, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(image);
        } catch (TranslateException e) {
            LOG.error("Could not process input or output", e);
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #2021 Negative (Non-Clone)
ID: 2458_1958
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyGradleWrapper()
    protected void copyGradleWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, "gradle/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path gradlewPath = Paths.get(BUILD_DIR, "gradlew");
        Path gradlewBatPath = Paths.get(BUILD_DIR, "gradlew.bat");
        Path wrapperJarPath = wrapperPath.resolve("gradle-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("gradle-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew")) {
            Files.copy(is, gradlewPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew.bat")) {
            Files.copy(is, gradlewBatPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(gradlewPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(gradlewBatPath, "rwxr-xr-x");
    }
ID: 2051_1670
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnRollback(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #2022 Negative (Non-Clone)
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 1806_1475
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPull(Message message, DockerClient client, Exchange exchange)
    private void runAsyncPull(Message message, DockerClient client, Exchange exchange) throws InterruptedException {
        try (PullImageCmd cmd = executePullImageRequest(client, message)) {

            PullImageResultCallback item = cmd.exec(new PullImageResultCallback() {
                @Override
                public void onNext(PullResponseItem item) {
                    super.onNext(item);

                    LOG.trace("pull image callback {}", item);

                }
            });

            setResponse(exchange, item);
        }
    }
Pair #2023 Negative (Non-Clone)
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #2024 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
Pair #2025 Negative (Non-Clone)
ID: 2460_1962
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentDependencies(Set<String> deps)
    protected void copyAgentDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("agent:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "agent");
                Files.createDirectories(libDirPath);
                String n = d.substring(6);
                MavenGav gav = MavenGav.parseGav(n);
                copyAgentLibDependencies(gav);
            }
        }
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2026 Negative (Non-Clone)
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #2027 Negative (Non-Clone)
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #2028 Negative (Non-Clone)
ID: 31_52
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer, long position)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer, long position) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer, position + bytesWritten);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
ID: 2667_2352
ClassID: 2667
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.hasFailed(Exchange exchange)
    private boolean hasFailed(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (throttledExceptions == null || throttledExceptions.isEmpty()) {
                 
                 
                answer = true;
            } else {
                for (Class<?> exception : throttledExceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }
        }

        if (LOG.isDebugEnabled()) {
            String exceptionName
                    = exchange.getException() == null ? "none" : exchange.getException().getClass().getSimpleName();
            LOG.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName,
                    exchange.getExchangeId());
        }
        return answer;
    }
Pair #2029 Negative (Non-Clone)
ID: 2221_1742
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineSignaturenUserIds(Exchange exchange)
    protected List<String> determineSignaturenUserIds(Exchange exchange) {
        String userid = findSignatureKeyUserid(exchange);
        List<String> userids = findSignatureKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
             
            result = userids;
        }
        return result;
    }
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
Pair #2030 Negative (Non-Clone)
ID: 197_227
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeSyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 3103_2382
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.allowDuplicates()
    public ResequenceDefinition allowDuplicates() {
        if (streamConfig != null) {
            throw new IllegalStateException("allowDuplicates() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setAllowDuplicates(Boolean.toString(true));
        return this;
    }
Pair #2031 Negative (Non-Clone)
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
Pair #2032 Negative (Non-Clone)
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
ID: 618_558
ClassID: 618
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
Name: org.apache.camel.component.file.remote.RemoteFileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #2033 Negative (Non-Clone)
ID: 3177_2453
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(String systemId)
        public void parse(String systemId) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(systemId);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 1511_1354
ClassID: 1511
File: systems/camel-java/components/camel-exec/src/generated/java/org/apache/camel/component/exec/ExecResultConverterLoader.java
Name: org.apache.camel.component.exec.ExecResultConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToByteArray((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToInputStream((org.apache.camel.component.exec.ExecResult) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToString((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Document.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToDocument((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2034 Negative (Non-Clone)
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #2035 Negative (Non-Clone)
ID: 1273_1114
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performStats(final Exchange exchange, AsyncCallback callback)
    public void performStats(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String stats = dynamicRouterControlService.getStatisticsForChannel(subscribeChannel);
            message.setBody(stats, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
Pair #2036 Negative (Non-Clone)
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 484_510
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #2037 Negative (Non-Clone)
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
ID: 716_657
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            final Span processorSpan = tracer.getTracer().spanBuilder(getOperationName(processorDefinition))
                    .setParent(Context.current().with(span))
                    .setAttribute("component", getComponentName(processorDefinition))
                    .startSpan();

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(processorSpan));
            }

            try (Scope ignored = processorSpan.makeCurrent()) {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
                processorSpan.end();
            }
        }
Pair #2038 Negative (Non-Clone)
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 3222_2509
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/BooleanExpression.java
Name: org.apache.camel.language.simple.ast.BooleanExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == Boolean.class || type == boolean.class) {
                    return (T) Boolean.valueOf(value);
                }
                return camelContext.getTypeConverter().tryConvertTo(type, exchange, value);
            }

            @Override
            public String toString() {
                return String.valueOf(value);
            }
        };
    }
Pair #2039 Negative (Non-Clone)
ID: 2090_1679
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<SftpRemoteFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #2040 Negative (Non-Clone)
ID: 1855_1512
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in AWS Secrets Manager: {}", metadata);
        return keyPair;
    }
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #2041 Negative (Non-Clone)
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
ID: 2251_1783
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplaceAsync(Message message)
    public void onReplaceAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final CompletableFuture<Object> resultWithNewValue;
        final CompletableFuture<Boolean> resultWithNewAndOldValue;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue
                            = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                resultWithNewValue = cache.replaceAsync(key, value);
                setResult(message, resultWithNewValue);
            } else {
                resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value);
                setResult(message, resultWithNewAndOldValue);
            }
        }

    }
Pair #2042 Negative (Non-Clone)
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 1423_1269
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.close()
    public void close() {
        if (listenerThread != null) {
            lock.lock();
            try {
                try {
                    listenerThread.serverSocket.close();
                } catch (IOException e) {
                    LOG.info(e.getMessage(), e);
                } finally {
                    listenerThread = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2043 Negative (Non-Clone)
ID: 2455_1952
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        String context = readResourceTemplate("templates/spring-boot-build-gradle.tmpl");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        String camelVersion = catalog.getLoadedVersion();

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceFirst("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceFirst("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElse(camelSpringBootVersion, camelVersion));

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(am.getVersion());
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(gradleBuild));
    }
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2044 Negative (Non-Clone)
ID: 409_438
ClassID: 409
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setupJacksonXml(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat xml, DataFormat outXml)
    public void setupJacksonXml(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat xml, DataFormat outXml)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jacksonXml-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jacksonXml");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(xml);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("unmarshalTypeName", typeName);
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outXml);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("unmarshalTypeName", outTypeName);
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 2174_1706
ClassID: 2174
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.getNextElement()
    private T getNextElement() {
        if (asn1InputStream == null) {
            return null;
        }

        try {
            ASN1Primitive current = getNextEntry();

            if (current != null) {
                return ObjectHelper.cast(clazz, createGenericTypeObject(current));
            } else {
                LOGGER.trace("close asn1InputStream");
                return null;
            }
        } catch (Exception exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #2045 Negative (Non-Clone)
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
Pair #2046 Negative (Non-Clone)
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
Pair #2047 Negative (Non-Clone)
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
Pair #2048 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
Pair #2049 Negative (Non-Clone)
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2050 Negative (Non-Clone)
ID: 1431_1290
ClassID: 1431
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationReportEntity(HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, String boundary, String charsetName, String contentTransferEncoding)
    private static void parseMessageDispositionNotificationReportEntity(
            HttpMessage message, InputStream is, AS2SessionInputBuffer inBuffer, String boundary, String charsetName,
            String contentTransferEncoding)
            throws HttpException {
        DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity = null;

        ObjectHelper.notNull(message, "message");
        ObjectHelper.notNull(inBuffer, "inBuffer");
        ObjectHelper.notNull(boundary, "boundary");
        ObjectHelper.notNull(charsetName, "charsetName");
        HttpEntity entity = ObjectHelper.notNull(EntityUtils.getMessageEntity(message), "message entity");

        if (entity instanceof DispositionNotificationMultipartReportEntity) {
             
            return;
        }

        Args.check(entity.isStreaming(), "Message entity can not be parsed: entity is not streaming");

        try {

            dispositionNotificationMultipartReportEntity
                    = parseMultipartReportEntityBody(inBuffer, is, boundary, charsetName, contentTransferEncoding);

            EntityUtils.setMessageEntity(message, dispositionNotificationMultipartReportEntity);

        } catch (Exception e) {
            throw new HttpException("Failed to parse entity content", e);
        }
    }
ID: 778_703
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createArbitratySecret(Exchange exchange)
    private void createArbitratySecret(Exchange exchange) {
        ArbitrarySecretPrototype.Builder arbitrarySecretResourceBuilder = new ArbitrarySecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            arbitrarySecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        String payload = exchange.getMessage().getBody(String.class);
        if (ObjectHelper.isEmpty(payload)) {
            throw new IllegalArgumentException(
                    "Secret payload must be provided in the message body for createArbitrarySecret operation.");
        }
        arbitrarySecretResourceBuilder.payload(payload);
        arbitrarySecretResourceBuilder.secretType(ArbitrarySecretPrototype.SecretType.ARBITRARY);
        ArbitrarySecretPrototype arbitrarySecretResource = arbitrarySecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(arbitrarySecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #2051 Negative (Non-Clone)
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #2052 Negative (Non-Clone)
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2053 Negative (Non-Clone)
ID: 881_737
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getStringCarriageReturn(String returnCharacter)
    public static String getStringCarriageReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return CRLF;
        } else if (returnCharacter.equals("UNIX")) {
            return LINE_BREAK;
        } else if (returnCharacter.equals("MAC")) {
            return CARRIAGE_RETURN;
        } else {
            return returnCharacter;
        }
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2054 Negative (Non-Clone)
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
Pair #2055 Negative (Non-Clone)
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
Pair #2056 Negative (Non-Clone)
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
ID: 1041_903
ClassID: 1041
File: systems/camel-java/components/camel-xslt-saxon/src/main/java/org/apache/camel/component/xslt/saxon/XsltSaxonEndpoint.java
Name: org.apache.camel.component.xslt.saxon.XsltSaxonEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (this.saxonReaderProperties != null) {
             
             
            source = createReaderForSource(source);
        }
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        setCacheCleared(false);
    }
Pair #2057 Negative (Non-Clone)
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #2058 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
Pair #2059 Negative (Non-Clone)
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
ID: 385_432
ClassID: 385
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (bindingStyle == BindingStyle.SimpleConsumer) {
            throw new IllegalArgumentException("The SimpleConsumer Binding Style cannot be used in a camel-cxfrs producer");
        }
        final CxfRsProducer cxfRsProducer = new CxfRsProducer(this);
        if (isSynchronous()) {
            return new SynchronousDelegateProducer(cxfRsProducer);
        } else {
            return cxfRsProducer;
        }
    }
Pair #2060 Negative (Non-Clone)
ID: 1218_1045
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCharges(Exchange exchange, String method)
    private Object handleCharges(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Charge.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Charge.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String chargeId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge charge = Charge.retrieve(chargeId);
                return charge.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Charge.list(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CAPTURE:
                String captureId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge captureCharge = Charge.retrieve(captureId);
                return captureCharge.capture(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for charges: " + method);
        }
    }
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
Pair #2061 Negative (Non-Clone)
ID: 2221_1742
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineSignaturenUserIds(Exchange exchange)
    protected List<String> determineSignaturenUserIds(Exchange exchange) {
        String userid = findSignatureKeyUserid(exchange);
        List<String> userids = findSignatureKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
             
            result = userids;
        }
        return result;
    }
ID: 1086_926
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleData(Buffer buffer)
    private void handleData(Buffer buffer) {
        Handler<Buffer> handler;
        lock.lock();
        try {
            handler = this.dataHandler;
        } finally {
            lock.unlock();
        }
        if (handler != null) {
            checkContext();
            handler.handle(buffer);
        }
    }
Pair #2062 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #2063 Negative (Non-Clone)
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2064 Negative (Non-Clone)
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1489_1326
ClassID: 1489
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/CamelServlet.java
Name: org.apache.camel.http.common.CamelServlet.service(HttpServletRequest request, HttpServletResponse response)
    protected void service(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            if (!response.isCommitted()) {
                sendError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            }
        }
    }
Pair #2065 Negative (Non-Clone)
ID: 3160_2403
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.processExchange(Exchange exchange, String type)
    public void processExchange(Exchange exchange, String type) {
        if (counter1.isStatisticsEnabled()) {
            counter1.processExchange(exchange, type);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.processExchange(exchange, type);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.processExchange(exchange, type);
        }
    }
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #2066 Negative (Non-Clone)
ID: 3297_2709
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheckRepository(CamelContext context, String id)
    public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
        HealthCheckRepository answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheckRepository> repo = hcr.getRepository(id);
            if (repo.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheckRepository hr = resolver.resolveHealthCheckRepository(id);
                if (hr != null) {
                    repo = Optional.of(hr);
                    hcr.register(hr);
                }
            }
            if (repo.isPresent()) {
                answer = repo.get();
            }
        }
        return answer;
    }
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #2067 Negative (Non-Clone)
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
Pair #2068 Negative (Non-Clone)
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
Pair #2069 Negative (Non-Clone)
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
Pair #2070 Negative (Non-Clone)
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
Pair #2071 Negative (Non-Clone)
ID: 486_516
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
Name: org.apache.camel.component.cxf.converter.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 1872_1542
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpProducerFactory()
    private KnativeProducerFactory setUpProducerFactory() throws Exception {
        if (producerFactory == null) {
            this.producerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeProducerFactory.class);
            if (this.producerFactory == null) {
                this.producerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-producer", KnativeProducerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeProducerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(producerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.producerFactory, true, true);
            }
            LOGGER.debug("Using Knative producer factory: {} for protocol: {}", producerFactory, protocol.name());
        }

        return producerFactory;
    }
Pair #2072 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #2073 Negative (Non-Clone)
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
ID: 1837_1495
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
Name: org.apache.camel.component.ssh.SshConsumer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);

        client.start();

        super.doStart();
    }
Pair #2074 Negative (Non-Clone)
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
ID: 1423_1269
ClassID: 1423
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.close()
    public void close() {
        if (listenerThread != null) {
            lock.lock();
            try {
                try {
                    listenerThread.serverSocket.close();
                } catch (IOException e) {
                    LOG.info(e.getMessage(), e);
                } finally {
                    listenerThread = null;
                }
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2075 Negative (Non-Clone)
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #2076 Negative (Non-Clone)
ID: 2201_1731
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java
Name: org.apache.camel.github.GistResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 3233_2551
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseCode()
    public String parseCode() {
        try {
            parseTokens();
            return doParseCode();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #2077 Negative (Non-Clone)
ID: 2339_1841
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #2078 Negative (Non-Clone)
ID: 1282_1127
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteEdge()
    private Function<Exchange, Object> deleteEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                edgeCollection.deleteEdge(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 714_652
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/GetCorrelationContextProcessor.java
Name: org.apache.camel.observation.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2079 Negative (Non-Clone)
ID: 1232_1056
ClassID: 1232
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
Name: org.apache.camel.component.atom.AtomComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        AtomEndpoint atom = (AtomEndpoint) endpoint;
        if (atom.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            URI remainingUri = URISupport.createRemainingURI(new URI(remaining), parameters);
            feedUri = remainingUri.toString();
        } else {
            feedUri = remaining;
        }

        atom.setFeedUri(feedUri);
    }
ID: 1321_1228
ClassID: 1321
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doDeleteNode(Exchange exchange)
    protected void doDeleteNode(Exchange exchange) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("Deleting a specific Node require specify a Node name");
            throw new IllegalArgumentException("Deleting a specific Node require specify a Node name");
        }

        List<StatusDetails> statusDetails = getEndpoint().getKubernetesClient().nodes().withName(nodeName).delete();
        boolean nodeDeleted = ObjectHelper.isNotEmpty(statusDetails);

        prepareOutboundMessage(exchange, nodeDeleted);
    }
Pair #2080 Negative (Non-Clone)
ID: 188_198
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.deleteJob(Exchange exchange, AsyncCallback callback)
    private void deleteJob(Exchange exchange, AsyncCallback callback) throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
Pair #2081 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #2082 Negative (Non-Clone)
ID: 23_33
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #2083 Negative (Non-Clone)
ID: 2443_1924
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getId(SuspendedRow r)
    private String getId(SuspendedRow r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #2084 Negative (Non-Clone)
ID: 701_646
ClassID: 701
File: systems/camel-java/components/camel-jte/src/main/java/org/apache/camel/component/jte/JteComponent.java
Name: org.apache.camel.component.jte.JteComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JteEndpoint endpoint = new JteEndpoint(uri, this, remaining);
        endpoint.setAllowTemplateFromHeader(allowTemplateFromHeader);
        endpoint.setAllowContextMapAll(allowContextMapAll);
        endpoint.setContentCache(contentCache);

        setProperties(endpoint, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            endpoint.setResourceUri(remaining);
        }

        return endpoint;
    }
ID: 18_28
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulEventProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulEventProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulEventProducer target = (org.apache.camel.component.consul.endpoint.ConsulEventProducer) obj;
        switch (key) {
        case "fire":
        case "FIRE": target.fire(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2085 Negative (Non-Clone)
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #2086 Negative (Non-Clone)
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2087 Negative (Non-Clone)
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #2088 Negative (Non-Clone)
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 1984_1628
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/PiiDetectorGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.PiiDetectorGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<String> detectedPii = new ArrayList<>();

        for (PiiType piiType : detectTypes) {
            if (piiType.getPattern().matcher(text).find()) {
                detectedPii.add(piiType.getDisplayName());
            }
        }

        if (!detectedPii.isEmpty()) {
            String message = String.format(
                    "Potential PII detected: %s. Please remove sensitive information before sending.",
                    String.join(", ", detectedPii));

            if (blockOnDetection) {
                return failure(message);
            }
             
            return success();
        }

        return success();
    }
Pair #2089 Negative (Non-Clone)
ID: 148_126
ClassID: 148
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/model/ContainerBuilder.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.model.ContainerBuilder.build()
    public Container build() {
        Container container = new Container();
        container.setAllowPrivilegeEscalation(allowPrivilegeEscalation);
        container.setAuto(auto);
        container.setCapabilitiesAdd(capabilitiesAdd);
        container.setCapabilitiesDrop(capabilitiesDrop);
        container.setEnabled(enabled);
        container.setExpose(expose);
        container.setImage(image);
        container.setImagePullPolicy(imagePullPolicy);
        container.setImagePullSecrets(imagePullSecrets);
        container.setLimitCPU(limitCPU);
        container.setLimitMemory(limitMemory);
        container.setName(name);
        container.setPort(port);
        container.setPortName(portName);
        container.setRequestCPU(requestCPU);
        container.setRequestMemory(requestMemory);
        container.setRunAsNonRoot(runAsNonRoot);
        container.setRunAsUser(runAsUser);
        container.setSeccompProfileType(seccompProfileType);
        container.setServicePort(servicePort);
        container.setServicePortName(servicePortName);
        return container;
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2090 Negative (Non-Clone)
ID: 1115_949
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {

        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);

        if (imageClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }

        String operation = ((ImageRecognitionEndpoint) super.getEndpoint()).getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation name cannot be empty");
        }
        switch (operation) {
            case ImageRecognitionConstants.OPERATION_CELEBRITY_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing celebrity recognition");
                }
                performCelebrityRecognitionOperation(exchange, clientConfigurations);
                break;
            case ImageRecognitionConstants.OPERATION_TAG_RECOGNITION:
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Performing tag recognition");
                }
                performTagRecognitionOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation can only be either tagRecognition or celebrityRecognition");
        }
    }
ID: 2469_1992
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelGCAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "gc");
            Path f = getActionFile(Long.toString(pid));
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #2091 Negative (Non-Clone)
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #2092 Negative (Non-Clone)
ID: 879_732
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
Pair #2093 Negative (Non-Clone)
ID: 1316_1218
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doScaleReplicationController(Exchange exchange)
    protected void doScaleReplicationController(Exchange exchange) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("Scale a specific replication controller require specify a replication controller name");
            throw new IllegalArgumentException(
                    "Scale a specific replication controller require specify a replication controller name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific replication controller require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific replication controller require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a replicas number");
        }
        ReplicationController rcScaled = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                .withName(rcName).scale(replicasNumber);

        prepareOutboundMessage(exchange, rcScaled.getStatus().getReplicas());
    }
ID: 1313_1210
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doCreateOrUpdateServiceAccount(Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation)
    private void doCreateOrUpdateServiceAccount(
            Exchange exchange, String operationName, Function<Resource<ServiceAccount>, ServiceAccount> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccount saToCreate
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNT, ServiceAccount.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Service Account require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(saToCreate)) {
            LOG.error("{} a specific Service Account require specify a Service Account bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Service Account require specify a Service Account bean", operationName));
        }
        ServiceAccount sa = operation.apply(getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespaceName)
                .resource(saToCreate));

        prepareOutboundMessage(exchange, sa);
    }
Pair #2094 Negative (Non-Clone)
ID: 23_33
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2302_1824
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getClient(final Kinesis2Endpoint endpoint)
    public KinesisClient getClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisClient)) {
                kinesisClient = endpoint.getConfiguration().getAmazonKinesisClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisClient()
                        : KinesisClientFactory.getKinesisClient(endpoint.getConfiguration());
            }
            return kinesisClient;
        } finally {
            lock.unlock();
        }
    }
Pair #2095 Negative (Non-Clone)
ID: 498_526
ClassID: 498
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsServerFactoryBeanDefinitionParser.java
Name: org.apache.camel.component.cxf.spring.jaxrs.CxfRsServerFactoryBeanDefinitionParser.mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name)
    protected void mapElement(ParserContext ctx, BeanDefinitionBuilder bean, Element el, String name) {
        if ("properties".equals(name)
                || "extensionMappings".equals(name)
                || "languageMappings".equals(name)) {
            Map<?, ?> map = ctx.getDelegate().parseMapElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, map);
        } else if ("executor".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "serviceFactory.executor");
        } else if ("invoker".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "serviceFactory.invoker");
        } else if ("binding".equals(name)) {
            setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
        } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
                || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("features".equals(name) || "schemaLocations".equals(name)
                || "providers".equals(name) || "serviceBeans".equals(name)
                || "modelBeans".equals(name)) {
            List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
            bean.addPropertyValue(name, list);
        } else if ("model".equals(name)) {
            List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
            bean.addPropertyValue("modelBeans", resources);
        } else {
            setFirstChildAsProperty(el, ctx, bean, name);
        }
    }
ID: 778_703
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createArbitratySecret(Exchange exchange)
    private void createArbitratySecret(Exchange exchange) {
        ArbitrarySecretPrototype.Builder arbitrarySecretResourceBuilder = new ArbitrarySecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            arbitrarySecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        String payload = exchange.getMessage().getBody(String.class);
        if (ObjectHelper.isEmpty(payload)) {
            throw new IllegalArgumentException(
                    "Secret payload must be provided in the message body for createArbitrarySecret operation.");
        }
        arbitrarySecretResourceBuilder.payload(payload);
        arbitrarySecretResourceBuilder.secretType(ArbitrarySecretPrototype.SecretType.ARBITRARY);
        ArbitrarySecretPrototype arbitrarySecretResource = arbitrarySecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(arbitrarySecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
Pair #2096 Negative (Non-Clone)
ID: 2504_2052
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withIsSecret(JsonNode node)
        public AnnotationBuilder withIsSecret(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withIsSecret(node.asBoolean());
        }
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
Pair #2097 Negative (Non-Clone)
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
Pair #2098 Negative (Non-Clone)
ID: 836_717
ClassID: 836
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Producer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Producer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectionOptions);
        }
    }
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2099 Negative (Non-Clone)
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
Pair #2100 Negative (Non-Clone)
ID: 1315_1216
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doGetConfigMap(Exchange exchange)
    protected void doGetConfigMap(Exchange exchange) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
        }
        ConfigMap configMap;
        if (namespaceName != null) {
            configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get();
        } else {
            configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
        }

        prepareOutboundMessage(exchange, configMap);
    }
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
Pair #2101 Negative (Non-Clone)
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #2102 Negative (Non-Clone)
ID: 1411_1264
ClassID: 1411
File: systems/camel-java/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
Name: org.apache.camel.component.cometd.CometdComponent.doStop()
    protected void doStop() throws Exception {
        connectorsLock.lock();
        try {
            for (ConnectorRef connectorRef : connectors.values()) {
                connectorRef.connector.stop();
            }
            connectors.clear();
        } finally {
            connectorsLock.unlock();
        }

        super.doStop();
    }
ID: 2437_1910
ClassID: 2437
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/VersionHelper.java
Name: org.apache.camel.dsl.jbang.core.common.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null || source.isBlank() || target.isBlank()) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #2103 Negative (Non-Clone)
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
Pair #2104 Negative (Non-Clone)
ID: 31_53
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
ID: 982_840
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ParameterSqlType()
  final public Token ParameterSqlType() throws ParseException {Token t;
    Token scaleToken;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case NUMBER:{
      t = jj_consume_token(NUMBER);
      break;
      }
    case IDENTIFIER:{
      t = jj_consume_token(IDENTIFIER);
      break;
      }
    default:
      jj_la1[10] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
{if ("" != null) return t;}
    throw new Error("Missing return statement in function");
}
Pair #2105 Negative (Non-Clone)
ID: 220_261
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/transform/ServicebusCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.servicebus.transform.ServicebusCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.servicebus.receiveMessages");

        if (message.getHeaders().containsKey(ServiceBusConstants.PARTITION_KEY)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.servicebus.partition." + message.getHeader(ServiceBusConstants.PARTITION_KEY, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(ServiceBusConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        if (message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE,
                    message.getHeaders().containsKey(ServiceBusConstants.CONTENT_TYPE));
        } else {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
        }
    }
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
Pair #2106 Negative (Non-Clone)
ID: 3164_2417
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPoll.java
Name: org.apache.camel.management.mbean.ManagedPoll.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #2107 Negative (Non-Clone)
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #2108 Negative (Non-Clone)
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
ID: 1644_1405
ClassID: 1644
File: systems/camel-java/components/camel-spring-parent/camel-spring-main/src/main/java/org/apache/camel/spring/Main.java
Name: org.apache.camel.spring.Main.findLocations(Set<String> locations, ClassLoader classLoader)
    protected void findLocations(Set<String> locations, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(LOCATION_PROPERTIES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
            try {
                while (true) {
                    String line = reader.readLine();
                    if (line == null) {
                        break;
                    }
                    line = line.trim();
                    if (line.startsWith("#") || line.isEmpty()) {
                        continue;
                    }
                    locations.add(line);
                }
            } finally {
                IOHelper.close(reader, null, LOG);
            }
        }
    }
Pair #2109 Negative (Non-Clone)
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
ID: 3170_2439
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsJSon(Integer index, Boolean includeBody)
    public String browseMessageAsJSon(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsJSon(msg, includeBody);
    }
Pair #2110 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2111 Negative (Non-Clone)
ID: 3203_2465
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withMainListeners(String listeners)
    public MainConfigurationProperties withMainListeners(String listeners) {
        if (this.mainListenerClasses == null) {
            this.mainListenerClasses = "";
        }
        if (this.mainListenerClasses.isEmpty()) {
            this.mainListenerClasses = listeners;
        } else {
            this.mainListenerClasses = "," + listeners;
        }
        return this;
    }
ID: 112_105
ClassID: 112
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #2112 Negative (Non-Clone)
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 189_204
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCloseJob(final Exchange exchange, final AsyncCallback callback)
    private void processCloseJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.closeJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #2113 Negative (Non-Clone)
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
Pair #2114 Negative (Non-Clone)
ID: 275_347
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.scheduleMessages()
    private Consumer<Exchange> scheduleMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.scheduleMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);
                serviceBusSenderOperations.scheduleMessages(convertedBody,
                        configurationOptionsProxy.getScheduledEnqueueTime(exchange),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange),
                        applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #2115 Negative (Non-Clone)
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #2116 Negative (Non-Clone)
ID: 2530_2103
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanQuarkus(String... basePackage)
    protected void basePackageScanQuarkus(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "jakarta.enterprise.context.ApplicationScoped")
                        || AnnotationHelper.hasAnnotation(c, "jakarta.inject.Singleton"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Quarkus @ApplicationScoped/@Singleton class: {}", clazz);

             
            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "javax.inject.Named");
            if (ann != null) {
                name = ann;
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Quarkus @ApplicationScoped/@Singleton");
        }
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #2117 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #2118 Negative (Non-Clone)
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #2119 Negative (Non-Clone)
ID: 1087_928
ClassID: 1087
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpServer.java
Name: org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer.stopServer()
    protected void stopServer() {
        if (this.server == null) {
            return;
        }

        try {
            CompletableFuture.runAsync(
                    () -> {
                        CountDownLatch latch = new CountDownLatch(1);

                         
                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);

                        server.close(result -> {
                            try {
                                if (result.failed()) {
                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
                                            result.cause().getMessage());

                                    throw new RuntimeException(result.cause());
                                }

                                LOGGER.info("Vert.x HttpServer stopped");
                            } finally {
                                latch.countDown();
                            }
                        });

                        try {
                            latch.await();
                        } catch (InterruptedException e) {
                            Thread.currentThread().interrupt();
                            throw new RuntimeException(e);
                        }
                    },
                    executor).toCompletableFuture().join();
        } finally {
            this.server = null;
        }
    }
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
Pair #2120 Negative (Non-Clone)
ID: 3176_2451
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchemaFactory()
    public SchemaFactory getSchemaFactory() {
        if (schemaFactory == null) {
            lock.lock();
            try {
                if (schemaFactory == null) {
                    schemaFactory = createSchemaFactory();
                }
            } finally {
                lock.unlock();
            }
        }
        return schemaFactory;
    }
ID: 2516_2074
ClassID: 2516
File: systems/camel-java/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LoggerHelper.java
Name: org.apache.camel.cli.connector.LoggerHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt >= 1) {
            int pos = location.lastIndexOf(':');
            String num = location.substring(pos + 1);
            try {
                return Integer.valueOf(num);
            } catch (Exception var5) {
                return null;
            }
        } else {
            return null;
        }
    }
Pair #2121 Negative (Non-Clone)
ID: 1256_1104
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2122 Negative (Non-Clone)
ID: 1975_1610
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.predict(Exchange exchange, QAInput input)
    protected String predict(Exchange exchange, QAInput input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<QAInput, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<QAInput, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 31_53
ClassID: 31
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/IOUtil.java
Name: org.apache.camel.component.wal.IOUtil.write(FileChannel fileChannel, ByteBuffer byteBuffer)
    static long write(FileChannel fileChannel, ByteBuffer byteBuffer) throws IOException {
        long bytesWritten = 0;
        byteBuffer.flip();

        while (byteBuffer.hasRemaining()) {
            bytesWritten += fileChannel.write(byteBuffer);
        }

        byteBuffer.flip();
        byteBuffer.clear();

        return bytesWritten;
    }
Pair #2123 Negative (Non-Clone)
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2124 Negative (Non-Clone)
ID: 1810_1493
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCommitContainerRequest(DockerClient client, Message message)
    private CommitCmd executeCommitContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Commit Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        CommitCmd commitCmd = client.commitCmd(containerId);

        String author = DockerHelper.getProperty(DockerConstants.DOCKER_AUTHOR, configuration, message, String.class);

        if (author != null) {
            commitCmd.withAuthor(author);
        }

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            commitCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            commitCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            commitCmd.withAttachStdout(attachStdOut);
        }

        String[] cmds = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmds != null) {
            commitCmd.withCmd(cmds);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            commitCmd.withDisableNetwork(disableNetwork);
        }

        String[] envs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (envs != null) {
            commitCmd.withEnv(envs);
        }

        ExposedPorts exposedPorts
                = DockerHelper.getProperty(DockerConstants.DOCKER_EXPOSED_PORTS, configuration, message, ExposedPorts.class);

        if (exposedPorts != null) {
            commitCmd.withExposedPorts(exposedPorts);
        }

        String hostname = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostname != null) {
            commitCmd.withHostname(hostname);
        }

        Integer memory = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY, configuration, message, Integer.class);

        if (memory != null) {
            commitCmd.withMemory(memory);
        }

        Integer memorySwap
                = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Integer.class);

        if (memorySwap != null) {
            commitCmd.withMemorySwap(memorySwap);
        }

        String msg = DockerHelper.getProperty(DockerConstants.DOCKER_MESSAGE, configuration, message, String.class);

        if (msg != null) {
            commitCmd.withMessage(msg);
        }

        Boolean openStdIn = DockerHelper.getProperty(DockerConstants.DOCKER_OPEN_STD_IN, configuration, message, Boolean.class);

        if (openStdIn != null) {
            commitCmd.withOpenStdin(openStdIn);
        }

        Boolean pause = DockerHelper.getProperty(DockerConstants.DOCKER_PAUSE, configuration, message, Boolean.class);

        if (pause != null) {
            commitCmd.withPause(pause);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            commitCmd.withPortSpecs(portSpecs);
        }

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        if (repository != null) {
            commitCmd.withRepository(repository);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            commitCmd.withStdinOnce(stdInOnce);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (tag != null) {
            commitCmd.withTag(tag);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            commitCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            commitCmd.withUser(user);
        }

        Volumes volumes = DockerHelper.getProperty(DockerConstants.DOCKER_VOLUMES, configuration, message, Volumes.class);

        if (volumes != null) {
            commitCmd.withVolumes(volumes);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            commitCmd.withWorkingDir(workingDir);
        }

        return commitCmd;

    }
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2125 Negative (Non-Clone)
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
ID: 1313_1201
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doCreateOrUpdateHPA(Exchange exchange, String operationName, Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation)
    private void doCreateOrUpdateHPA(
            Exchange exchange, String operationName,
            Function<Resource<HorizontalPodAutoscaler>, HorizontalPodAutoscaler> operation) {
        String hpaName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerSpec hpaSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_SPEC, HorizontalPodAutoscalerSpec.class);
        if (ObjectHelper.isEmpty(hpaName)) {
            LOG.error("{} a specific hpa require specify a hpa name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific hpa require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(hpaSpec)) {
            LOG.error("{} a specific hpa require specify a hpa spec bean", operationName);
            throw new IllegalArgumentException(operationName + " a specific hpa require specify a hpa spec bean");
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_HPA_LABELS, Map.class);
        HorizontalPodAutoscaler hpaCreating = new HorizontalPodAutoscalerBuilder().withNewMetadata().withName(hpaName)
                .withLabels(labels).endMetadata().withSpec(hpaSpec).build();
        HorizontalPodAutoscaler hpa
                = operation.apply(getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                        .inNamespace(namespaceName)
                        .resource(hpaCreating));

        prepareOutboundMessage(exchange, hpa);
    }
Pair #2126 Negative (Non-Clone)
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
Pair #2127 Negative (Non-Clone)
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 349_402
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getResponseModel(Message message, String modelName)
    protected Class<?> getResponseModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.RESPONSE_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getResponseModel(modelName, Map.class);
    }
Pair #2128 Negative (Non-Clone)
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
ID: 2452_1945
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getPropertyEnum(Object prop)
    private static List<String> getPropertyEnum(Object prop) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = prop.getClass().getMethod("get_enum");
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, prop);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
Pair #2129 Negative (Non-Clone)
ID: 1402_1249
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.createReplaceSmTempate(Exchange exchange)
    protected ReplaceSm createReplaceSmTempate(Exchange exchange) {
        Message in = exchange.getIn();
        ReplaceSm replaceSm = new ReplaceSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            replaceSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            replaceSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            replaceSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            replaceSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            replaceSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            replaceSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            replaceSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
            replaceSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, Byte.class));
        } else {
            replaceSm.setRegisteredDelivery(config.getRegisteredDelivery());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            replaceSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                replaceSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                replaceSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        return replaceSm;
    }
ID: 2506_2056
ClassID: 2506
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.combine(String... items)
    protected static Stream<String> combine(String... items) {
        Set<String> answer = new TreeSet<>();

        for (String item : items) {
            if (item == null) {
                continue;
            }

            String[] elements = item.split(",");
            answer.addAll(Arrays.asList(elements));
        }

        return answer.stream();
    }
Pair #2130 Negative (Non-Clone)
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
Pair #2131 Negative (Non-Clone)
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 3246_2580
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFluentProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean.getObject()
    public FluentProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultFluentProducerTemplate(context);
                template.setDefaultEndpoint(endpoint);
            }
        } else {
            template = new DefaultFluentProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #2132 Negative (Non-Clone)
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #2133 Negative (Non-Clone)
ID: 3285_2681
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, String message)
    public void process(Exchange exchange, String message) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange) + message;
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output);
            closeListeners(exchange, output);
        }
    }
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #2134 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 681_613
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
Pair #2135 Negative (Non-Clone)
ID: 983_843
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ReInit(java.io.InputStream stream, String encoding)
  public void ReInit(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source.ReInit(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #2136 Negative (Non-Clone)
ID: 196_225
ClassID: 196
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processResponse(Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback)
    private void processResponse(
            Exchange exchange, Object body, Map<String, String> headers, SalesforceException ex, AsyncCallback callback) {
        final Message out = exchange.getOut();
        if (ex != null) {
            exchange.setException(ex);
        } else {
            out.setBody(body);
        }

         
        Message inboundMessage = exchange.getIn();
        Map<String, Object> outboundHeaders = out.getHeaders();
        outboundHeaders.putAll(inboundMessage.getHeaders());
        outboundHeaders.putAll(headers);

         
        callback.done(false);
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #2137 Negative (Non-Clone)
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #2138 Negative (Non-Clone)
ID: 1187_1012
ClassID: 1187
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.doHasNext()
    protected boolean doHasNext() {
        try {
            if (zipInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = currentEntry != null;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    zipInputStream.close();
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2139 Negative (Non-Clone)
ID: 3297_2709
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheckRepository(CamelContext context, String id)
    public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
        HealthCheckRepository answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheckRepository> repo = hcr.getRepository(id);
            if (repo.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheckRepository hr = resolver.resolveHealthCheckRepository(id);
                if (hr != null) {
                    repo = Optional.of(hr);
                    hcr.register(hr);
                }
            }
            if (repo.isPresent()) {
                answer = repo.get();
            }
        }
        return answer;
    }
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
Pair #2140 Negative (Non-Clone)
ID: 1309_1168
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.eventReceived(Action action, ConfigMap resource)
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
Pair #2141 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2142 Negative (Non-Clone)
ID: 2652_2316
ClassID: 2652
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
Name: org.apache.camel.model.dataformat.BindyDataFormat.getDataFormatName()
    public String getDataFormatName() {
        if ("Csv".equals(type)) {
            return "bindyCsv";
        } else if ("Fixed".equals(type)) {
            return "bindyFixed";
        } else {
            return "bindyKvp";
        }
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #2143 Negative (Non-Clone)
ID: 3251_2599
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean.getObject()
    public SecureRandomParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #2144 Negative (Non-Clone)
ID: 1888_1559
ClassID: 1888
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getEncodingParameter(String type, MinaConfiguration configuration)
    private Charset getEncodingParameter(String type, MinaConfiguration configuration) {
        String encoding = configuration.getEncoding();
        if (encoding == null) {
            encoding = Charset.defaultCharset().name();
             
            configuration.setEncoding(encoding);
            LOG.debug("{}: No encoding parameter using default charset: {}", type, encoding);
        }
        if (!Charset.isSupported(encoding)) {
            throw new IllegalArgumentException("The encoding: " + encoding + " is not supported");
        }

        return Charset.forName(encoding);
    }
ID: 2339_1843
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
Name: org.apache.camel.component.aws2.sns.Sns2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #2145 Negative (Non-Clone)
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #2146 Negative (Non-Clone)
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
ID: 3209_2479
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #2147 Negative (Non-Clone)
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
Pair #2148 Negative (Non-Clone)
ID: 2464_1973
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.tailTraceFiles(Map<Long, Pid> pids, int tail)
    private void tailTraceFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getTraceFile(pid.pid);
            if (Files.exists(file)) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #2149 Negative (Non-Clone)
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2150 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #2151 Negative (Non-Clone)
ID: 1572_1382
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.charsetDecoder(IoSession session)
    private CharsetDecoder charsetDecoder(IoSession session) {
        synchronized (session) {
            CharsetDecoder decoder = (CharsetDecoder) session.getAttribute(CHARSET_DECODER);
            if (decoder == null) {
                decoder = config.getCharset().newDecoder()
                        .onMalformedInput(config.getMalformedInputErrorAction())
                        .onUnmappableCharacter(config.getUnmappableCharacterErrorAction());
                session.setAttribute(CHARSET_DECODER, decoder);
            }
            return decoder;
        }
    }
ID: 3306_2716
ClassID: 3306
File: systems/camel-java/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java
Name: org.apache.camel.xml.io.util.XmlStreamReader.XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding)
    public XmlStreamReader(final InputStream is, final boolean lenient, final String defaultEncoding) throws IOException,
                                                                                                      XmlStreamReaderException {
        if (defaultEncoding == null) {
            this.defaultEncoding = staticDefaultEncoding;
        } else {
            this.defaultEncoding = defaultEncoding;
        }
        try {
            doRawStream(is, lenient);
        } catch (final XmlStreamReaderException ex) {
            if (!lenient) {
                throw ex;
            } else {
                doLenientDetection(null, ex);
            }
        }
    }
Pair #2152 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 2470_1999
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListService.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListService.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpointUri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2153 Negative (Non-Clone)
ID: 3104_2384
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetHeadersDefinition.java
Name: org.apache.camel.model.SetHeadersDefinition.createSetHeaderDefinitions(Object[] headerNamesAndExprs)
    private void createSetHeaderDefinitions(Object[] headerNamesAndExprs) {
        if (headerNamesAndExprs.length == 1 && headerNamesAndExprs[0] instanceof Map) {
            createHeadersFromMap((Map<?, ?>) headerNamesAndExprs[0]);
        } else if (headerNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < headerNamesAndExprs.length; i += 2) {
                addHeader(headerNamesAndExprs[i], headerNamesAndExprs[i + 1]);
            }
        }
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2154 Negative (Non-Clone)
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
ID: 103_86
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResource(Keycloak keycloakClient, Exchange exchange)
    private void updateResource(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String resourceId = exchange.getIn().getHeader(KeycloakConstants.RESOURCE_ID, String.class);
        if (ObjectHelper.isEmpty(resourceId)) {
            throw new IllegalArgumentException("Resource ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ResourceRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().resources().resource(resourceId)
                        .update((ResourceRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Resource updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update resource requires POJO request with ResourceRepresentation");
        }
    }
Pair #2155 Negative (Non-Clone)
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
Pair #2156 Negative (Non-Clone)
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
ID: 1807_1484
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTopContainerRequest(DockerClient client, Message message)
    private TopContainerCmd executeTopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Top Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        TopContainerCmd topContainerCmd = client.topContainerCmd(containerId);

        String psArgs = DockerHelper.getProperty(DockerConstants.DOCKER_PS_ARGS, configuration, message, String.class);

        if (psArgs != null) {
            topContainerCmd.withPsArgs(psArgs);
        }

        return topContainerCmd;

    }
Pair #2157 Negative (Non-Clone)
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
Pair #2158 Negative (Non-Clone)
ID: 2478_2025
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 2435_1906
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveSpringBootVersionFromCamelSpringBoot(
            String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion,
                            true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2159 Negative (Non-Clone)
ID: 1313_1207
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation)
    private void doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation) {
        String podName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodSpec podSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
        if (ObjectHelper.isEmpty(podName)) {
            LOG.error("{} a specific pod require specify a pod name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific pod require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific pod require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(podSpec)) {
            LOG.error("{} a specific pod require specify a pod spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a pod spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Pod podCreating = new PodBuilder().withNewMetadata().withName(podName).withLabels(labels).endMetadata()
                .withSpec(podSpec).build();
        Pod pod = operation.apply(getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).resource(podCreating));

        prepareOutboundMessage(exchange, pod);
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #2160 Negative (Non-Clone)
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 2577_2167
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeComponent()
    private void executeComponent() throws MojoExecutionException {
         
        final String kind = "component";
        List<String> componentNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!componentNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + componentNames.size() + " components");
            }

            for (String componentName : componentNames) {
                String json = loadJsonFrom(jsonFiles, kind, componentName);
                if (json != null) {
                     
                    componentName = asComponentName(componentName);

                    File file = new File(componentDocDir, componentName + "-" + kind + ".adoc");
                    boolean exists = file.exists();

                    ComponentModel model = generateComponentModel(json);
                    String title = asComponentTitle(model.getScheme(), model.getTitle());
                    model.setTitle(title);

                    boolean updated = updateHeader(componentName, file, model, " Component");

                    checkComponentHeader(file);
                    checkSince(file);

                    String options = evaluateTemplate("component-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No component doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #2161 Negative (Non-Clone)
ID: 923_796
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubEndpoint endpoint = (GooglePubsubEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/topics/%s", endpoint.getProjectId(), endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getIn().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);

         
         
        Map<String, String> attributes = exchange.getIn().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
         

        String orderingKey = exchange.getIn().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

         
        for (String camelHeader : exchange.getIn().getHeaders().keySet()) {
            String value = exchange.getIn().getHeader(camelHeader, String.class);
            if (headerFilterStrategy != null
                    && headerFilterStrategy.applyFilterToExternalHeaders(camelHeader, value, exchange)) {
                continue;
            }
            messageBuilder.putAttributes(camelHeader, value);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getIn().setHeader(GooglePubsubConstants.MESSAGE_ID, messageIdFuture.get());
    }
ID: 1863_1533
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
Pair #2162 Negative (Non-Clone)
ID: 464_494
ClassID: 464
File: systems/camel-java/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
Name: org.apache.camel.component.dhis2.internal.Dhis2ApiCollection.getEndpointConfiguration(Dhis2ApiName apiName)
    public Dhis2Configuration getEndpointConfiguration(Dhis2ApiName apiName) {
        Dhis2Configuration result = null;
        switch (apiName) {
            case POST:
                result = new Dhis2PostEndpointConfiguration();
                break;
            case RESOURCE_TABLES:
                result = new Dhis2ResourceTablesEndpointConfiguration();
                break;
            case GET:
                result = new Dhis2GetEndpointConfiguration();
                break;
            case DELETE:
                result = new Dhis2DeleteEndpointConfiguration();
                break;
            case PUT:
                result = new Dhis2PutEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
Pair #2163 Negative (Non-Clone)
ID: 2510_2064
ClassID: 2510
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/BasePackageScanResolver.java
Name: org.apache.camel.support.scan.BasePackageScanResolver.isAcceptableScheme(String urlPath)
    protected boolean isAcceptableScheme(String urlPath) {
        if (urlPath != null) {
            for (String scheme : acceptableSchemes) {
                if (urlPath.startsWith(scheme)) {
                    return true;
                }
            }
        }
        return false;
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2164 Negative (Non-Clone)
ID: 2046_1658
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2165 Negative (Non-Clone)
ID: 242_310
ClassID: 242
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("region", propertiesFunction.getRegion());
            if (propertiesFunction.isDefaultCredentialsProvider()) {
                root.put("login", "DefaultCredentialsProvider");
            } else if (propertiesFunction.isProfleCredentialsProvider()) {
                root.put("login", "ProfileCredentialsProvider");
            } else {
                root.put("login", "Access and Secret Keys");
            }
            AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
            if (aws != null) {
                root.put("refreshEnabled", aws.isRefreshEnabled());
                root.put("refreshPeriod", aws.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
Pair #2166 Negative (Non-Clone)
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
Pair #2167 Negative (Non-Clone)
ID: 184_177
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.search(String soslQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void search(String soslQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soslQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "search/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
Pair #2168 Negative (Non-Clone)
ID: 221_263
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java
Name: org.apache.camel.component.azure.storage.blob.BlobComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("At least the account name must be specified.");
        }

        final BlobConfiguration config = this.configuration != null ? this.configuration.copy() : new BlobConfiguration();

        final String[] parts = remaining.split("/");

         
        config.setAccountName(parts[0]);

         
        if (parts.length > 1) {
            config.setContainerName(parts[1]);
        }

        final BlobEndpoint endpoint = new BlobEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

        initCredentialConfig(config);
        validateConfigurations(config);

        return endpoint;
    }
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
Pair #2169 Negative (Non-Clone)
ID: 1972_1605
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.upsert(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2170 Negative (Non-Clone)
ID: 1114_947
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeConfigurations(ImageRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(ImageRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();

        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 259_339
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSharedKey(final DataLakeConfiguration configuration) {
        StorageSharedKeyCredential sharedKeyCredential = configuration.getSharedKeyCredential();
        if (sharedKeyCredential == null) {
            LOG.trace("Using account name and account key to instantiate service client");
            sharedKeyCredential = new StorageSharedKeyCredential(configuration.getAccountName(), configuration.getAccountKey());
        } else {
            LOG.trace("Using configured shared key instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sharedKeyCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #2171 Negative (Non-Clone)
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #2172 Negative (Non-Clone)
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 189_207
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetBatch(final Exchange exchange, final AsyncCallback callback)
    private void processGetBatch(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody = exchange.getIn().getBody(BatchInfo.class);
        String batchId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getBatch(jobId, batchId, determineHeaders(exchange), new BulkApiClient.BatchInfoResponseCallback() {
            @Override
            public void onResponse(BatchInfo batchInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfo, headers, ex, callback);
            }
        });
    }
Pair #2173 Negative (Non-Clone)
ID: 1265_1109
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters)
    public static String extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters) {
        Object param = parameters.get(PARAM_TEMPLATE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_TEMPLATE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.before(remaining, "/");
        }
        if (answer == null) {
            answer = remaining;
        }

        return answer;
    }
ID: 1992_1633
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferMessageStoreFactory(SessionSettings settings)
    private MessageStoreFactory inferMessageStoreFactory(SessionSettings settings) throws ConfigError {
        Set<MessageStoreFactory> impliedMessageStoreFactories = new HashSet<>();
        isJdbcStore(settings, impliedMessageStoreFactories);
        isFileStore(settings, impliedMessageStoreFactories);
        isSleepycatStore(settings, impliedMessageStoreFactories);
        if (impliedMessageStoreFactories.size() > 1) {
            throw new ConfigError("Ambiguous message store implied in configuration.");
        }
        MessageStoreFactory messageStoreFactory;
        if (impliedMessageStoreFactories.size() == 1) {
            messageStoreFactory = impliedMessageStoreFactories.iterator().next();
        } else {
            messageStoreFactory = new MemoryStoreFactory();
        }
        LOG.info("Inferring message store factory: {}", messageStoreFactory.getClass().getName());
        return messageStoreFactory;
    }
Pair #2174 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2175 Negative (Non-Clone)
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 3292_2694
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextClientParameters.java
Name: org.apache.camel.support.jsse.SSLContextClientParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextClientParameters[getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
Pair #2176 Negative (Non-Clone)
ID: 3264_2625
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receiveNoWait(Endpoint endpoint)
    public Exchange receiveNoWait(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receiveNoWait();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 3247_2587
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLifecycleStrategy()
    private void setupLifecycleStrategy() {
        Map<String, LifecycleStrategy> lifecycleStrategies
                = getContext().getRegistry().findByTypeWithName(LifecycleStrategy.class);
        if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
            for (Entry<String, LifecycleStrategy> entry : lifecycleStrategies.entrySet()) {
                LifecycleStrategy strategy = entry.getValue();
                 
                if (!getContext().getLifecycleStrategies().contains(strategy)) {
                    LOG.info("Using custom LifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().addLifecycleStrategy(strategy);
                }
            }
        }
    }
Pair #2177 Negative (Non-Clone)
ID: 1062_917
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers)
    public void setCommitmentTypeQualifiers(List<String> commitmentTypeQualifiers) {
        if (commitmentTypeQualifiers == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeQualifiers' is null");
        }
        for (String qualifier : commitmentTypeQualifiers) {
            if (qualifier == null || qualifier.isEmpty()) {
                throw new IllegalArgumentException("At least one qualifier of the commitment type is null or empty");
            }
        }
        this.commitmentTypeQualifiers = new ArrayList<>(commitmentTypeQualifiers);
    }
ID: 922_794
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubProducer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
Pair #2178 Negative (Non-Clone)
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #2179 Negative (Non-Clone)
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
Pair #2180 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
Pair #2181 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #2182 Negative (Non-Clone)
ID: 1245_1074
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecords(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Records records = exchange.getIn().getMandatoryBody(Records.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing records {}", records);
            }
            writeApi.writeRecords(bucketName, orgName, writePrecision, records.getInfluxRecords());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 3223_2512
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.doCreateCode(CamelContext camelContext, String expression)
    private String doCreateCode(CamelContext camelContext, String expression) throws SimpleParserException {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final String leftExp = left.createCode(camelContext, expression);
        final String rightExp = right.createCode(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return leftExp + " && " + rightExp;
        } else if (operator == LogicalOperatorType.OR) {
            return leftExp + " || " + rightExp;
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
Pair #2183 Negative (Non-Clone)
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 662_600
ClassID: 662
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/Hl7TerserAnnotationExpressionFactory.java
Name: org.apache.camel.component.hl7.Hl7TerserAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #2184 Negative (Non-Clone)
ID: 3108_2393
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
Name: org.apache.camel.model.RoutesDefinition.createRoute()
    protected RouteDefinition createRoute() {
        RouteDefinition route = new RouteDefinition();
        route.setCamelContext(getCamelContext());
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            route.setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            route.setResource(resource);
        }
        return route;
    }
ID: 1644_1407
ClassID: 1644
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
Name: org.apache.camel.processor.transformer.AnnotationTransformerLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                try (BufferedReader reader
                        = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        packages.add(line);
                    }
                }
            }
        }
    }
Pair #2185 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #2186 Negative (Non-Clone)
ID: 2478_2025
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 3163_2416
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWeightedLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedWeightedLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #2187 Negative (Non-Clone)
ID: 769_702
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonSpeechToTextConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom language models, language filter: {}", language);

        ListLanguageModelsOptions.Builder builder = new ListLanguageModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListLanguageModelsOptions options = builder.build();
        LanguageModels customModels = stt.listLanguageModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<LanguageModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #2188 Negative (Non-Clone)
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #2189 Negative (Non-Clone)
ID: 375_408
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().getConfiguration().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
ID: 2636_2269
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
Name: org.apache.camel.impl.engine.DefaultDevConsoleResolver.resolveDevConsole(String id)
    public DevConsole resolveDevConsole(String id) {
         
        DevConsole answer = camelContext.getRegistry().lookupByNameAndType(id + "-dev-console", DevConsole.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, DevConsole.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findDevConsole(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no DevConsole registered for id: " + id, e);
        }

        if (type != null) {
            if (DevConsole.class.isAssignableFrom(type)) {
                answer = (DevConsole) camelContext.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
            } else {
                throw new IllegalArgumentException(
                        "Resolving dev-console: " + id + " detected type conflict: Not a DevConsole implementation. Found: "
                                                   + type.getName());
            }
        }

        return answer;
    }
Pair #2190 Negative (Non-Clone)
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
Pair #2191 Negative (Non-Clone)
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
Pair #2192 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
Pair #2193 Negative (Non-Clone)
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
Pair #2194 Negative (Non-Clone)
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #2195 Negative (Non-Clone)
ID: 3179_2457
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument(charset, "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                String namespaceUri = reader.getAttributeNamespace(i);
                                writer.writeAttribute(reader.getAttributePrefix(i), namespaceUri == null ? "" : namespaceUri,
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                String namespacePrefix = reader.getNamespacePrefix(i);
                                String namespaceURI = reader.getNamespaceURI(i);
                                writer.writeNamespace(namespacePrefix == null ? "" : namespacePrefix,
                                        namespaceURI == null ? "" : namespaceURI);
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 2541_2118
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findXmlFiles(File dir, Set<File> xmlFiles)
    public static void findXmlFiles(File dir, Set<File> xmlFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".xml")) {
                    xmlFiles.add(file);
                } else if (file.isDirectory()) {
                    findXmlFiles(file, xmlFiles);
                }
            }
        }
    }
Pair #2196 Negative (Non-Clone)
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
ID: 2654_2320
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludedHeader(String key)
    private boolean isExcludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("-header:")) {
                pattern = StringHelper.after(pattern, "-header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
Pair #2197 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 1402_1250
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.createCancelSm(Exchange exchange)
    protected CancelSm createCancelSm(Exchange exchange) {
        Message in = exchange.getIn();
        CancelSm cancelSm = new CancelSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            cancelSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            cancelSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            cancelSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            cancelSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            cancelSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            cancelSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR)) {
            cancelSm.setDestinationAddress(in.getHeader(SmppConstants.DEST_ADDR, String.class));
        } else {
            cancelSm.setDestinationAddress(config.getDestAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
            cancelSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, Byte.class));
        } else {
            cancelSm.setDestAddrTon(config.getDestAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
            cancelSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, Byte.class));
        } else {
            cancelSm.setDestAddrNpi(config.getDestAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.SERVICE_TYPE)) {
            cancelSm.setServiceType(in.getHeader(SmppConstants.SERVICE_TYPE, String.class));
        } else {
            cancelSm.setServiceType(config.getServiceType());
        }

        return cancelSm;
    }
Pair #2198 Negative (Non-Clone)
ID: 1991_1632
ClassID: 1991
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.createAcceptor(Application application, SessionSettings settings, MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory, MessageFactory messageFactory, ThreadModel threadModel)
    private Acceptor createAcceptor(
            Application application, SessionSettings settings,
            MessageStoreFactory messageStoreFactory, LogFactory sessionLogFactory,
            MessageFactory messageFactory, ThreadModel threadModel)
            throws ConfigError {

        Acceptor acceptor;
        if (threadModel == ThreadModel.ThreadPerSession) {
            acceptor = new ThreadedSocketAcceptor(
                    application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else if (threadModel == ThreadModel.ThreadPerConnector) {
            acceptor = new SocketAcceptor(application, messageStoreFactory, settings, sessionLogFactory, messageFactory);
        } else {
            throw new ConfigError("Unknown thread mode: " + threadModel);
        }
        return acceptor;
    }
ID: 2470_1996
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2199 Negative (Non-Clone)
ID: 2596_2199
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getBigDecimal(final int index)
    public BigDecimal getBigDecimal(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #2200 Negative (Non-Clone)
ID: 2493_2044
ClassID: 2493
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.getProjectClassLoader()
    protected final ClassLoader getProjectClassLoader() {
        if (projectClassLoader == null) {
            try {
                projectClassLoader = DynamicClassLoader.createDynamicClassLoader(project.getCompileClasspathElements());
            } catch (DependencyResolutionRequiredException e) {
                throw new RuntimeException("Unable to create project classloader", e);
            }
        }
        return projectClassLoader;
    }
ID: 2270_1790
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.recreateEntityManagerIfNeeded()
    private void recreateEntityManagerIfNeeded() {
         
        if (entityManager == null) {
            if (getEndpoint().isSharedEntityManager()) {
                this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
            } else {
                this.entityManager = entityManagerFactory.createEntityManager();
            }
            LOG.trace("Recreated EntityManager {} on {}", entityManager, this);
        }
    }
Pair #2201 Negative (Non-Clone)
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #2202 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 3237_2558
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.reifier(CamelContext camelContext, ValidatorDefinition definition)
    public static ValidatorReifier<? extends ValidatorDefinition> reifier(
            CamelContext camelContext, ValidatorDefinition definition) {

        ValidatorReifier<? extends ValidatorDefinition> answer = null;
        if (!VALIDATORS.isEmpty()) {
             
            BiFunction<CamelContext, ValidatorDefinition, ValidatorReifier<? extends ValidatorDefinition>> reifier
                    = VALIDATORS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(camelContext, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(camelContext, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #2203 Negative (Non-Clone)
ID: 2354_1850
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineInitialDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineInitialDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long initialDelay = exchange.getIn().getHeader(Athena2Constants.INITIAL_DELAY, Long.class);

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = configuration.getInitialDelay();
        }

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = determineDelay(exchange, configuration);
        }

        if (initialDelay < 0) {
            throw new IllegalArgumentException("AWS Athena initial delay must be >= 0");
        }

        return initialDelay;
    }
ID: 3292_2694
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextClientParameters.java
Name: org.apache.camel.support.jsse.SSLContextClientParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextClientParameters[getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
Pair #2204 Negative (Non-Clone)
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #2205 Negative (Non-Clone)
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #2206 Negative (Non-Clone)
ID: 409_439
ClassID: 409
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setupJaxb(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat jaxb, DataFormat outJaxb)
    public void setupJaxb(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat jaxb, DataFormat outJaxb)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jaxb-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jaxb");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(jaxb);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("contextPath", typeName);
            builder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outJaxb);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("contextPath", outTypeName);
            outBuilder.withProperty("contextPathIsClassName", "true");
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
Pair #2207 Negative (Non-Clone)
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
Pair #2208 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 233_284
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareFileClient fileClient)
    private boolean existsRemote(ShareFileClient fileClient) {
        try {
            return Boolean.TRUE
                    .equals(fileClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
Pair #2209 Negative (Non-Clone)
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
Pair #2210 Negative (Non-Clone)
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 2526_2096
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.resolveLanguage(String name, CamelContext context)
    public Language resolveLanguage(String name, CamelContext context) {
        LanguageModel model = catalog.languageModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
            if ("csimple".equals(name)) {
                 
                downloadLoader(model.getGroupId(), "camel-csimple-joor", model.getVersion());
            }
        }

        Language answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolveLanguage(name, context);
        } else {
            answer = new StubLanguage();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find language with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #2211 Negative (Non-Clone)
ID: 3288_2686
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public ComponentCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, Component> condition = condition();

            return new ComponentCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, Component target) {
                    ObjectHelper.notNull(name, "component name");
                    ObjectHelper.notNull(target, "component instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
ID: 2449_1935
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyCopy.java
Name: org.apache.camel.dsl.jbang.core.commands.DependencyCopy.outputGav(MavenGav gav, int index, int total)
    protected void outputGav(MavenGav gav, int index, int total) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(outputDirectory, artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #2212 Negative (Non-Clone)
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 444_472
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketDelimiterDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketDelimiterDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            Object result = delegateDecoder.decode(ctx, payload);
            AddressedEnvelope<Object, InetSocketAddress> addressEvelop
                    = new DefaultAddressedEnvelope<>(result, msg.recipient(), msg.sender());
            out.add(addressEvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #2213 Negative (Non-Clone)
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #2214 Negative (Non-Clone)
ID: 1265_1109
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters)
    public static String extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters) {
        Object param = parameters.get(PARAM_TEMPLATE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_TEMPLATE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.before(remaining, "/");
        }
        if (answer == null) {
            answer = remaining;
        }

        return answer;
    }
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #2215 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #2216 Negative (Non-Clone)
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
Pair #2217 Negative (Non-Clone)
ID: 1984_1626
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/CodeInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.CodeInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionType> detected = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (!detectTypes.contains(pattern.getType())) {
                continue;
            }

            if (pattern.getPattern().matcher(text).find()) {
                detected.add(pattern.getType());

                if (strict) {
                    return failure(String.format(
                            "Potential code injection detected: %s. " +
                                                 "Please remove any code or command patterns from your message.",
                            pattern.getType()));
                }
            }
        }

         
        if (!strict && detected.size() >= 2) {
            return failure(String.format(
                    "Multiple potential code injection patterns detected: %s. " +
                                         "Please rephrase your message without code-like syntax.",
                    detected));
        }

        return success();
    }
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #2218 Negative (Non-Clone)
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 380_422
ClassID: 380
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQSendDynamicAware.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQSendDynamicAware.parseExchangeName(String uri)
    private String parseExchangeName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2219 Negative (Non-Clone)
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #2220 Negative (Non-Clone)
ID: 2441_1921
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #2221 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #2222 Negative (Non-Clone)
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
ID: 1807_1477
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveImageRequest(DockerClient client, Message message)
    private RemoveImageCmd executeRemoveImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        ObjectHelper.notNull(imageId, "Image ID must be specified");

        RemoveImageCmd removeImagesCmd = client.removeImageCmd(imageId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeImagesCmd.withForce(force);
        }

        Boolean noPrune = DockerHelper.getProperty(DockerConstants.DOCKER_NO_PRUNE, configuration, message, Boolean.class);

        if (noPrune != null) {
            removeImagesCmd.withNoPrune(noPrune);
        }

        return removeImagesCmd;

    }
Pair #2223 Negative (Non-Clone)
ID: 2522_2080
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumDb2ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumDb2ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumDb2Component) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumDb2Component) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumDb2Component) component).setConfiguration((org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumDb2Component) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumDb2Component) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumDb2Component) component).setAutowiredEnabled((boolean) value); return true;
            case "cdcChangeTablesSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcChangeTablesSchema((java.lang.String) value); return true;
            case "cdcControlSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setCdcControlSchema((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumDb2Component) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumDb2Component) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabasePort((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumDb2Component) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumDb2Component) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "db2Platform": getOrCreateConfiguration((DebeziumDb2Component) component).setDb2Platform((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumDb2Component) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumDb2Component) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumDb2Component) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumDb2Component) component).setIncludeSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumDb2Component) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumDb2Component) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumDb2Component) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumDb2Component) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumDb2Component) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumDb2Component) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumDb2Component) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumDb2Component) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumDb2Component) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumDb2Component) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumDb2Component) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumDb2Component) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumDb2Component) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumDb2Component) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumDb2Component) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumDb2Component) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 2556_2126
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
    public static List<CoverageData> parseDumpRouteCoverageByLineNumber(String directory, String sourceLocation)
            throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (sourceLocation == null) {
            return answer;
        }

        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    n = route.getAttributes().getNamedItem("sourceLocation");
                    String loc = n != null ? n.getNodeValue() : null;
                    if (sourceLocation.equals(loc)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        List<CoverageData> list = new ArrayList<>();
                        parseRouteData(catalog, route, list, counter, id);
                        if (id != null && !list.isEmpty()) {
                            list.get(0).setRouteId(id);
                        }
                        answer.addAll(list);
                    }
                }
            }
        }

        return answer;
    }
Pair #2224 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2225 Negative (Non-Clone)
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 2248_1774
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        RemoteCache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.withFlags(configuration.getFlags())
                : cache;
    }
Pair #2226 Negative (Non-Clone)
ID: 2657_2326
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
Name: org.apache.camel.processor.SetBodyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, false);
            } else {
                 
                old.setBody(newBody);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #2227 Negative (Non-Clone)
ID: 634_564
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveTriggerKey(Action action, String routeId)
    public TriggerKey retrieveTriggerKey(Action action, String routeId) {
        ScheduledRouteDetails scheduledRouteDetails = getScheduledRouteDetails(routeId);
        TriggerKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartTriggerKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopTriggerKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendTriggerKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeTriggerKey();
        }

        return result;
    }
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #2228 Negative (Non-Clone)
ID: 125_115
ClassID: 125
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.buildResilience4jConfiguration()
    Resilience4jConfigurationDefinition buildResilience4jConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(Resilience4jConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getResilience4jConfiguration(null),
                () -> lookupByNameAndType(ResilienceConstants.DEFAULT_RESILIENCE_CONFIGURATION_ID,
                        Resilience4jConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getResilience4jConfiguration(ref),
                    () -> mandatoryLookup(ref, Resilience4jConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getResilience4jConfiguration()), configurer);

         
        Resilience4jConfigurationDefinition config = new Resilience4jConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #2229 Negative (Non-Clone)
ID: 2100_1696
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.get(final CamelContext camelContext, final String key)
    public Exchange get(final CamelContext camelContext, final String key) {
        Exchange answer = null;

        try {
            byte[] lDbKey = keyBuilder(repositoryName, key);
            LOG.trace("Getting key index {}", key);
            byte[] rc = levelDBFile.getDb().get(lDbKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException("Error getting key " + key + " from repository " + repositoryName, e);
        }

        LOG.debug("Getting key  [{}] -> {}", key, answer);
        return answer;
    }
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #2230 Negative (Non-Clone)
ID: 1966_1602
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteById(Exchange exchange)
    private void deleteById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }
        Result<Boolean> result = this.client.data().deleter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();
        populateResponse(result, exchange);
    }
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
Pair #2231 Negative (Non-Clone)
ID: 231_282
ClassID: 231
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation> strategy
                = (GenericFileExclusiveReadLockStrategy<FileIdBothDirectoryInformation>) params
                        .get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FileIdBothDirectoryInformation> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                SmbChangedExclusiveReadLockStrategy readLockStrategy = new SmbChangedExclusiveReadLockStrategy();
                StrategyUtil.setup(readLockStrategy, params);
                return readLockStrategy;
            }
        }

        return null;
    }
ID: 1892_1562
ClassID: 1892
File: systems/camel-java/components/camel-jasypt/src/main/java/org/apache/camel/component/jasypt/Main.java
Name: org.apache.camel.component.jasypt.Main.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #2232 Negative (Non-Clone)
ID: 1125_958
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performLiveDetectOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateLiveDetectConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                LiveDetectBase64Req base64ReqBody = new LiveDetectBase64Req()
                        .withVideoBase64(clientConfigurations.getVideoBase64())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByBase64(new DetectLiveByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                LiveDetectUrlReq urlReqBody = new LiveDetectUrlReq().withVideoUrl(clientConfigurations.getVideoUrl())
                        .withActions(clientConfigurations.getActions()).withActionTime(clientConfigurations.getActionTimes());
                result = this.frsClient.detectLiveByUrl(new DetectLiveByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getVideoFilePath())) {
                    DetectLiveByFileRequestBody fileReqBody = new DetectLiveByFileRequestBody()
                            .withVideoFile(inputStream, getFileName(clientConfigurations.getVideoFilePath()))
                            .withActions(clientConfigurations.getActions())
                            .withActionTime(clientConfigurations.getActionTimes());
                    result = this.frsClient.detectLiveByFile(new DetectLiveByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Video file path is invalid: %s", clientConfigurations.getVideoFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1430_1286
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipPreambleAndStartBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundStartBoundary;
        try {
            foundStartBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundStartBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundStartBoundary) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #2233 Negative (Non-Clone)
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
Pair #2234 Negative (Non-Clone)
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 3273_2647
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, BooleanSupplier supplier)
    public boolean run(CamelContext camelContext, BooleanSupplier supplier) {
        running.set(true);
        boolean completed = false;

        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                nextAttemptTime = lastAttemptTime + budget.interval();
                if (doRun(supplier)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    completed = true;
                    break;
                }

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
            throw e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return completed;
    }
Pair #2235 Negative (Non-Clone)
ID: 2046_1660
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
Pair #2236 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #2237 Negative (Non-Clone)
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
Pair #2238 Negative (Non-Clone)
ID: 1876_1551
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getFilters()
    public Map<String, String> getFilters() {
        Map<String, String> answer = new HashMap<>();
        if (this.filters != null) {
            answer.putAll(this.filters);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_FILTER_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_FILTER_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 899_768
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2239 Negative (Non-Clone)
ID: 1954_1591
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/InferenceProducer.java
Name: org.apache.camel.component.torchserve.producer.InferenceProducer.predictions(Exchange exchange)
    private void predictions(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        Object body = message.getBody(byte[].class);
        Object response;
        if (modelVersion == null) {
            response = this.inference.predictions(modelName, body);
        } else {
            response = this.inference.predictions(modelName, modelVersion, body);
        }
        message.setBody(response);
    }
ID: 2533_2109
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/SagaDownloader.java
Name: org.apache.camel.main.download.SagaDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {

        ProcessorReifier.registerReifier(SagaDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof SagaDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-saga",
                                    route.getCamelContext().getVersion());
                            downloader.downloadDependency("org.apache.camel", "camel-lra",
                                    route.getCamelContext().getVersion());
                        }
                    }
                    main.bind("inMemorySagaService", new InMemorySagaService());
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #2240 Negative (Non-Clone)
ID: 765_687
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.determineOperation(Exchange exchange)
    private WatsonSpeechToTextOperations determineOperation(Exchange exchange) {
        WatsonSpeechToTextOperations operation
                = exchange.getIn().getHeader(WatsonSpeechToTextConstants.OPERATION, WatsonSpeechToTextOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
Pair #2241 Negative (Non-Clone)
ID: 1477_1316
ClassID: 1477
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
Pair #2242 Negative (Non-Clone)
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #2243 Negative (Non-Clone)
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2244 Negative (Non-Clone)
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
ID: 1148_988
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/TimerProducer.java
Name: org.apache.camel.opentelemetry.metrics.TimerProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram timer = timers.get(name);
        if (timer == null) {
            synchronized (lock) {
                timer = timers.get(name);
                if (timer == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    builder.setUnit(getEndpoint().getUnit().name().toLowerCase());
                    timer = builder.build();
                    timers.put(name, timer);
                }
            }
        }
        return timer;
    }
Pair #2245 Negative (Non-Clone)
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #2246 Negative (Non-Clone)
ID: 220_260
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.queue.transform.AzureStorageQueueCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.queue.receiveMessages");

        if (message.getHeaders().containsKey(QueueConstants.MESSAGE_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.queue." + message.getHeader(QueueConstants.MESSAGE_ID, String.class));
        }

        if (message.getHeaders().containsKey(QueueConstants.POP_RECEIPT)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(QueueConstants.POP_RECEIPT, String.class));
        }
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.TEXT_PLAIN_MIME_TYPE);
    }
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #2247 Negative (Non-Clone)
ID: 230_277
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FTPFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FTPFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FTPFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FTPFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FTPFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #2248 Negative (Non-Clone)
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #2249 Negative (Non-Clone)
ID: 337_380
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.autoCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult autoCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
        CommitSynchronization commitSynchronization = new CommitSynchronization(exceptionHandler, exchanges.size());
        exchange.getExchangeExtension().addOnCompletion(commitSynchronization);
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
             
             
            if (configuration.isBreakOnFirstError()) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
             
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
Pair #2250 Negative (Non-Clone)
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #2251 Negative (Non-Clone)
ID: 14_12
ClassID: 14
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/processor/aggregate/CaffeineAggregationRepository.java
Name: org.apache.camel.component.caffeine.processor.aggregate.CaffeineAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            Caffeine<Object, Object> builder = Caffeine.newBuilder();
            cache = builder.build();
        }
    }
ID: 2268_1787
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
Pair #2252 Negative (Non-Clone)
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #2253 Negative (Non-Clone)
ID: 2440_1917
ClassID: 2440
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.doRunDebugQuarkus(KameletMain main)
    private int doRunDebugQuarkus(KameletMain main) throws Exception {
        Path pom = Paths.get("pom.xml");
        MavenXpp3Reader mavenReader = new MavenXpp3Reader();
        try (Reader reader = Files.newBufferedReader(pom)) {
            Model model = mavenReader.read(reader);

             
            Dependency d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-debug");
            model.getDependencies().add(d);
            d = new Dependency();
            d.setGroupId("org.apache.camel.quarkus");
            d.setArtifactId("camel-quarkus-cli-connector");
            model.getDependencies().add(d);

            Profile mp = new Profile();
            model.addProfile(mp);
            mp.setId("camel-debug");
            Activation a = new Activation();
            a.setActiveByDefault(true);
            mp.setActivation(a);

            Build b = new Build();
            mp.setBuild(b);

            Plugin pi = new Plugin();
            b.addPlugin(pi);
            pi.setGroupId(quarkusGroupId);
            pi.setArtifactId("quarkus-maven-plugin");
            pi.setVersion(quarkusVersion);
            PluginExecution pe = new PluginExecution();
            pe.addGoal("build");
            pi.addExecution(pe);
            Xpp3Dom cfg = new Xpp3Dom("finalName");
            cfg.setValue("camel-jbang-debug");
            Xpp3Dom root = new Xpp3Dom("configuration");
            root.addChild(cfg);
            pi.setConfiguration(root);

            MavenXpp3Writer w = new MavenXpp3Writer();
            FileOutputStream fos = new FileOutputStream("camel-jbang-debug-pom.xml", false);
            w.write(fos, model);
            IOHelper.close(fos);

            printer().println("Preparing Camel Quarkus for debugging ...");

             
            String mvnw = "/mvnw";
            if (FileUtil.isWindows()) {
                mvnw = "/mvnw.cmd";
            }
            if (!new File(mvnw).exists()) {
                mvnw = "mvn";
            }
             
            ProcessBuilder pb = new ProcessBuilder();
            pb.command(mvnw, "-Dmaven.test.skip", "--file", "camel-jbang-debug-pom.xml", "package", "quarkus:build");
            Process p = pb.start();

            if (p.waitFor(30, TimeUnit.SECONDS)) {
                AtomicReference<Process> processRef = new AtomicReference<>();
                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                    try {
                         
                        Process process = processRef.get();
                        if (process != null) {
                            process.destroy();
                            for (int i = 0; i < 30; i++) {
                                if (!process.isAlive()) {
                                    break;
                                }
                                try {
                                    Thread.sleep(1000);
                                } catch (InterruptedException e) {
                                    Thread.currentThread().interrupt();
                                }
                            }
                        }
                        removeDir(Paths.get(RUN_PLATFORM_DIR));
                        removeDir(Paths.get(CAMEL_JBANG_WORK_DIR));
                        Files.deleteIfExists(Paths.get("camel-jbang-debug-pom.xml"));
                    } catch (Exception e) {
                         
                    }
                }));

                 
                pb = new ProcessBuilder();
                pb.command("java",
                        "-Dcamel.debug.enabled=true",
                        (breakpoint == null
                                ? "-Dcamel.debug.breakpoints=_all_routes_" : "-Dcamel.debug.breakpoints=" + breakpoint),
                        "-Dcamel.debug.loggingLevel=DEBUG",
                        "-Dcamel.debug.singleStepIncludeStartEnd=true",
                        "-Dcamel.main.sourceLocationEnabled=true",
                        "-jar", "target/quarkus-app/quarkus-run.jar");

                p = pb.start();
                processRef.set(p);
                this.spawnOutput = p.getInputStream();
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                printer().println("Debugging Camel Quarkus integration: " + name + " with PID: " + p.pid());
            } else {
                printer().printErr("Timed out preparing Camel Quarkus for debugging");
                this.spawnError = p.getErrorStream();
                this.spawnPid = p.pid();
                p.destroy();
                return -1;
            }
        }

        return 0;
    }
ID: 3238_2561
ClassID: 3238
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/ValidatorReifier.java
Name: org.apache.camel.reifier.validator.ValidatorReifier.coreReifier(CamelContext camelContext, ValidatorDefinition definition)
    private static ValidatorReifier<? extends ValidatorDefinition> coreReifier(
            CamelContext camelContext, ValidatorDefinition definition) {
        if (definition instanceof CustomValidatorDefinition) {
            return new CustomValidatorReifier(camelContext, definition);
        } else if (definition instanceof EndpointValidatorDefinition) {
            return new EndpointValidatorReifier(camelContext, definition);
        } else if (definition instanceof PredicateValidatorDefinition) {
            return new PredicateValidatorReifier(camelContext, definition);
        }
        return null;
    }
Pair #2254 Negative (Non-Clone)
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
ID: 1634_1402
ClassID: 1634
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentConverter.java
Name: org.apache.camel.component.langchain4j.agent.LangChain4jAgentConverter.detectMimeTypeFromExtension(String fileName)
    private static String detectMimeTypeFromExtension(String fileName) {
        String lowerName = fileName.toLowerCase();

         
        if (lowerName.endsWith(".png")) {
            return "image/png";
        } else if (lowerName.endsWith(".jpg") || lowerName.endsWith(".jpeg")) {
            return "image/jpeg";
        } else if (lowerName.endsWith(".gif")) {
            return "image/gif";
        } else if (lowerName.endsWith(".webp")) {
            return "image/webp";
        } else if (lowerName.endsWith(".bmp")) {
            return "image/bmp";
        } else if (lowerName.endsWith(".tiff") || lowerName.endsWith(".tif")) {
            return "image/tiff";
        } else if (lowerName.endsWith(".svg")) {
            return "image/svg+xml";
        }
         
        else if (lowerName.endsWith(".mp4")) {
            return "video/mp4";
        } else if (lowerName.endsWith(".webm")) {
            return "video/webm";
        } else if (lowerName.endsWith(".mov")) {
            return "video/quicktime";
        } else if (lowerName.endsWith(".mkv")) {
            return "video/x-matroska";
        } else if (lowerName.endsWith(".avi")) {
            return "video/x-msvideo";
        }
         
        else if (lowerName.endsWith(".wav")) {
            return "audio/wav";
        } else if (lowerName.endsWith(".mp3")) {
            return "audio/mpeg";
        } else if (lowerName.endsWith(".ogg")) {
            return "audio/ogg";
        } else if (lowerName.endsWith(".m4a")) {
            return "audio/mp4";
        } else if (lowerName.endsWith(".flac")) {
            return "audio/flac";
        }
         
        else if (lowerName.endsWith(".pdf")) {
            return "application/pdf";
        }
         
        else if (lowerName.endsWith(".txt")) {
            return "text/plain";
        } else if (lowerName.endsWith(".csv")) {
            return "text/csv";
        } else if (lowerName.endsWith(".html") || lowerName.endsWith(".htm")) {
            return "text/html";
        } else if (lowerName.endsWith(".md")) {
            return "text/markdown";
        } else if (lowerName.endsWith(".xml")) {
            return "text/xml";
        } else if (lowerName.endsWith(".json")) {
            return "application/json";
        }

        LOG.warn("Could not detect MIME type from file extension: {}. Please set the CamelLangChain4jAgentMediaType header.",
                fileName);
        throw new IllegalArgumentException(
                "Cannot determine MIME type for file: " + fileName
                                           + ". Please set the CamelLangChain4jAgentMediaType header.");
    }
Pair #2255 Negative (Non-Clone)
ID: 1130_968
ClassID: 1130
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.purge()
        protected void purge() {
             
            if (lock != null) {
                 
                lock.lock();
                try {
                    super.purge();
                } finally {
                    lock.unlock();
                }
            }
        }
ID: 3171_2440
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        sb.append("<messages>");
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            String xml = MessageHelper.dumpAsXml(msg, includeBody);
            sb.append("\n").append(xml);
        }
        sb.append("\n</messages>");
        return sb.toString();
    }
Pair #2256 Negative (Non-Clone)
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
ID: 184_175
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "query/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
Pair #2257 Negative (Non-Clone)
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
ID: 3214_2491
ClassID: 3214
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }
        if (loc.endsWith("default-registry")) {
             
            return false;
        }

        return true;
    }
Pair #2258 Negative (Non-Clone)
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 2638_2275
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeader(Endpoint endpoint, ExchangePattern pattern, final Object body, final String header, final Object headerValue)
    public Object sendBodyAndHeader(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String header, final Object headerValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaderProcessor(body, header, headerValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #2259 Negative (Non-Clone)
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2561_2136
ClassID: 2561
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
Name: org.apache.camel.maven.packaging.AbstractGenerateConfigurerMojo.addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
    private void addRelevantProjectDependenciesToClasspath(List<URL> path, boolean testClasspathOnly)
            throws MojoExecutionException {
        try {
            getLog().debug("Project Dependencies will be included.");

            if (testClasspathOnly) {
                URL testClasses = new File(project.getBuild().getTestOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + testClasses);
                }
                path.add(testClasses);
            } else {
                URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();

                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding to classpath : " + mainClasses);
                }
                path.add(mainClasses);
            }

            Set<Artifact> dependencies = project.getArtifacts();

             
             
            dependencies.addAll(getAllNonTestScopedDependencies());

            for (Artifact classPathElement : dependencies) {
                if (getLog().isDebugEnabled()) {
                    getLog().debug("Adding project dependency artifact: " + classPathElement.getArtifactId()
                                   + " to classpath");
                }

                File file = classPathElement.getFile();
                if (file != null) {
                    path.add(file.toURI().toURL());
                }
            }

        } catch (MalformedURLException e) {
            throw new MojoExecutionException("Error during setting up classpath", e);
        }
    }
Pair #2260 Negative (Non-Clone)
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
ID: 2325_1830
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
Pair #2261 Negative (Non-Clone)
ID: 1841_1503
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XProducer.java
Name: org.apache.camel.component.plc4x.Plc4XProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
            if (plc4XEndpoint.isConnected() && !plc4XEndpoint.canWrite()) {
                throw new PlcException("This connection (" + plc4XEndpoint.getUri() + ") doesn't support writing.");
            }
        } catch (PlcConnectionException e) {
            if (log.isTraceEnabled()) {
                log.error("Connection setup failed, stopping producer", e);
            } else {
                log.error("Connection setup failed, stopping producer");
            }
            doStop();
        }
    }
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
Pair #2262 Negative (Non-Clone)
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
Pair #2263 Negative (Non-Clone)
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 1307_1149
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesConsumer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesConsumer.doStop()
    protected void doStop() throws Exception {
        LOG.debug("Stopping Kubernetes Custom Resources Consumer");
        if (executor != null) {
            KubernetesHelper.close(customResourcesWatcher, customResourcesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
        super.doStop();
    }
Pair #2264 Negative (Non-Clone)
ID: 463_488
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppEnterpriseAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(configuration.getEnterpriseId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
Pair #2265 Negative (Non-Clone)
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
Pair #2266 Negative (Non-Clone)
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #2267 Negative (Non-Clone)
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 382_425
ClassID: 382
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping JmsReplyManager: {} from processing replies from: {}", replyManager,
                            endpoint.getReplyTo() != null ? endpoint.getReplyTo() : "temporary queue");
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #2268 Negative (Non-Clone)
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #2269 Negative (Non-Clone)
ID: 2541_2117
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findJavaFiles(File dir, Set<File> javaFiles)
    public static void findJavaFiles(File dir, Set<File> javaFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".java")) {
                    javaFiles.add(file);
                } else if (file.isDirectory()) {
                    findJavaFiles(file, javaFiles);
                }
            }
        }
    }
ID: 3212_2487
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                mps.add(mp);
            }
        }
         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        ProcessorDevConsole.includeProcessorsText(getCamelContext(), sb, 0, null, mps);
    }
Pair #2270 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
Pair #2271 Negative (Non-Clone)
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 898_756
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent.getClient(GoogleSheetsStreamConfiguration config)
    public Sheets getClient(GoogleSheetsStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #2272 Negative (Non-Clone)
ID: 1104_932
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (this.iamClient == null) {
            LOG.info("Initializing SDK client");
            this.iamClient = endpoint.initClient();
            LOG.info("IAM client initialized");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case IAMOperations.LIST_USERS:
                listUsers(exchange);
                break;
            case IAMOperations.GET_USER:
                getUser(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_USER:
                updateUser(exchange, clientConfigurations);
                break;
            case IAMOperations.LIST_GROUPS:
                listGroups(exchange);
                break;
            case IAMOperations.GET_GROUP_USERS:
                getGroupUsers(exchange, clientConfigurations);
                break;
            case IAMOperations.UPDATE_GROUP:
                updateGroup(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 243_311
ClassID: 243
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #2273 Negative (Non-Clone)
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
ID: 2516_2075
ClassID: 2516
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsoleHelper.java
Name: org.apache.camel.impl.console.ConsoleHelper.extractSourceLocationLineNumber(String location)
    public static Integer extractSourceLocationLineNumber(String location) {
        int cnt = StringHelper.countChar(location, ':');
        if (cnt > 0) {
            int pos = location.lastIndexOf(':');
             
            if (pos < location.length() - 1) {
                String num = location.substring(pos + 1);
                try {
                    return Integer.valueOf(num);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #2274 Negative (Non-Clone)
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
Pair #2275 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 180_168
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request)
    private void doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
        });
    }
Pair #2276 Negative (Non-Clone)
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #2277 Negative (Non-Clone)
ID: 2461_1963
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.doCall()
    public Integer doCall() throws Exception {
        Map<Long, Row> rows = new LinkedHashMap<>();

         
        updatePids(rows);
        if (!rows.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
            if (startup) {
                follow = false;
                 
                tailStartupLogFiles(rows);
                dumpLogFiles(rows, 0);
            } else if (tail != 0) {
                 
                tailLogFiles(rows, tail, limit);
                dumpLogFiles(rows, tail);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            StopWatch watch = new StopWatch();
            do {
                if (rows.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for logs ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(rows);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(rows);
                        watch.restart();
                    }
                    int lines = readLogFiles(rows);
                    if (lines > 0) {
                        dumpLogFiles(rows, 0);
                    } else {
                        Thread.sleep(100);
                    }
                }
            } while (running.get());
        }

        return 0;
    }
ID: 174_137
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportDescription(String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback)
    public void getReportDescription(
            String reportId, final Map<String, List<String>> headers, final ReportDescriptionResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportsDescribeUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportDescription reportDescription = null;
                try {
                    reportDescription = unmarshalResponse(response, request, ReportDescription.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportDescription, headers, ex);
            }
        });
    }
Pair #2278 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2191_1729
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.detachVolumeToDroplet(Exchange exchange)
    private void detachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().detachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().detachVolume(dropletId, volumeId, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);

    }
Pair #2279 Negative (Non-Clone)
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
Pair #2280 Negative (Non-Clone)
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 1957_1596
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Index index = this.client.getIndexConnection(indexName);

        UpdateResponse result = index.update(indexId, elements, namespace);

        populateUpdateResponse(result, exchange);

    }
Pair #2281 Negative (Non-Clone)
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
ID: 3173_2445
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsYaml(boolean resolvePlaceholders, boolean uriAsParameters, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsYaml(
            boolean resolvePlaceholders, boolean uriAsParameters, boolean generatedIds, boolean sourceLocation)
            throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }

        return PluginHelper.getModelToYAMLDumper(context).dumpModelAsYaml(context, def, resolvePlaceholders, uriAsParameters,
                generatedIds, sourceLocation);
    }
Pair #2282 Negative (Non-Clone)
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 3242_2571
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/AvroDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.AvroDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == AvroLibrary.ApacheAvro) {
            if (definition.getInstanceClassName() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClassName", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClassName", definition.getInstanceClassName());
            }
            properties.put("schema", definition.getSchema());
        } else if (definition.getLibrary() == AvroLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClassName()));
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #2283 Negative (Non-Clone)
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
Pair #2284 Negative (Non-Clone)
ID: 1914_1576
ClassID: 1914
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        RLock lock = redisson.getLock("aggregationLock");
        try {
            lock.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            lock.unlock();
        }
    }
ID: 1958_1597
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.query(Exchange exchange)
    private void query(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVector(topK, elements, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
Pair #2285 Negative (Non-Clone)
ID: 1307_1152
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        LOG.debug("Stopping Kubernetes Services Consumer");
        if (executor != null) {
            KubernetesHelper.close(servicesWatcher, servicesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 980_835
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/ParseException.java
Name: org.apache.camel.component.sql.stored.template.generated.ParseException.add_escapes(String str)
  static String add_escapes(String str) {
      StringBuilder retval = new StringBuilder();
      char ch;
      for (int i = 0; i < str.length(); i++) {
        switch (str.charAt(i))
        {
           case '\b':
              retval.append("\\b");
              continue;
           case '\t':
              retval.append("\\t");
              continue;
           case '\n':
              retval.append("\\n");
              continue;
           case '\f':
              retval.append("\\f");
              continue;
           case '\r':
              retval.append("\\r");
              continue;
           case '\"':
              retval.append("\\\"");
              continue;
           case '\'':
              retval.append("\\\'");
              continue;
           case '\\':
              retval.append("\\\\");
              continue;
           default:
              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                 String s = "0000" + Integer.toString(ch, 16);
                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
              } else {
                 retval.append(ch);
              }
              continue;
        }
      }
      return retval.toString();
   }
Pair #2286 Negative (Non-Clone)
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
ID: 1148_989
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/CounterProducer.java
Name: org.apache.camel.opentelemetry.metrics.CounterProducer.getInstrument(String name, String description)
    protected LongUpDownCounter getInstrument(String name, String description) {
        LongUpDownCounter counter = counters.get(name);
        if (counter == null) {
            synchronized (lock) {
                counter = counters.get(name);
                if (counter == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongUpDownCounterBuilder builder = meter.upDownCounterBuilder(name);
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    counter = builder.build();
                    counters.put(name, counter);
                }
            }
        }
        return counter;
    }
Pair #2287 Negative (Non-Clone)
ID: 2597_2201
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getByte(final int index)
    public Byte getByte(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
Pair #2288 Negative (Non-Clone)
ID: 410_440
ClassID: 410
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getOutTypeName(String outType, Class<?> outTypeClass, String typeName)
    private static String getOutTypeName(String outType, Class<?> outTypeClass, String typeName) {
        String outTypeName = null;
        if (outTypeClass != null) {
            outTypeName = outTypeClass.isArray() ? outTypeClass.getComponentType().getName() : outTypeClass.getName();
        } else if (outType != null) {
            outTypeName = outType.endsWith("[]") ? outType.substring(0, outType.length() - 2) : outType;
        } else if (typeName != null) {
             
            outTypeName = typeName;
        }
        return outTypeName;
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #2289 Negative (Non-Clone)
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
ID: 2636_2271
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheck(String id)
    public HealthCheck resolveHealthCheck(String id) {
         
        HealthCheck answer = camelContext.getRegistry().lookupByNameAndType(id + "-health-check", HealthCheck.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheck.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheck(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheck registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheck.class.isAssignableFrom(type)) {
                return (HealthCheck) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check: " + id + " detected type conflict: Not a HealthCheck implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #2290 Negative (Non-Clone)
ID: 308_376
ClassID: 308
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
ID: 24_38
ClassID: 24
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2291 Negative (Non-Clone)
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #2292 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 1313_1208
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doCreateOrUpdateSecret(Exchange exchange, String operationName, Function<Resource<Secret>, Secret> operation)
    private void doCreateOrUpdateSecret(Exchange exchange, String operationName, Function<Resource<Secret>, Secret> operation) {
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Secret secretToCreate = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRET, Secret.class);
        HashMap<String, String> secretAnnotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific secret require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific secret require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(secretToCreate)) {
            LOG.error("{} a specific secret require specify a secret bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific secret require specify a secret bean", operationName));
        }
        if (ObjectHelper.isNotEmpty(secretAnnotations)) {
            secretToCreate.getMetadata().setAnnotations(secretAnnotations);
        }
        Secret secret
                = operation.apply(
                        getEndpoint().getKubernetesClient().secrets().inNamespace(namespaceName).resource(secretToCreate));

        prepareOutboundMessage(exchange, secret);
    }
Pair #2293 Negative (Non-Clone)
ID: 3171_2440
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsXml(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        sb.append("<messages>");
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            String xml = MessageHelper.dumpAsXml(msg, includeBody);
            sb.append("\n").append(xml);
        }
        sb.append("\n</messages>");
        return sb.toString();
    }
ID: 1039_899
ClassID: 1039
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "jetty");
        }

        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("jetty", config);

        boolean cors = config.isEnableCORS();
        if (cors) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("jetty", scheme, host, port, path, map);

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

        boolean binding = map.containsKey("httpBindingRef") || map.containsKey("httpBinding");

        if (!binding) {
             
            endpoint.setHttpBinding(new JettyRestHttpBinding(endpoint));
             
            endpoint.setEnableMultipartFilter(false);
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

         
        ServiceHelper.startService(endpoint);

        return consumer;
    }
Pair #2294 Negative (Non-Clone)
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
Pair #2295 Negative (Non-Clone)
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #2296 Negative (Non-Clone)
ID: 2249_1776
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutIfAbsent(Message message)
    public void onPutIfAbsent(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putIfAbsent(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putIfAbsent(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putIfAbsent(key, value);
        }

        setResult(message, result);
    }
ID: 893_748
ClassID: 893
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java
Name: org.apache.camel.component.xslt.XsltBuilder.getSourceHandlerFactory()
    public SourceHandlerFactory getSourceHandlerFactory() {
        if (this.sourceHandlerFactory == null) {
            sourceHandlerFactoryLock.lock();
            try {
                if (this.sourceHandlerFactory == null) {
                    final XmlSourceHandlerFactoryImpl xmlSourceHandlerFactory = createXmlSourceHandlerFactoryImpl();
                    xmlSourceHandlerFactory.setFailOnNullBody(isFailOnNullBody());
                    this.sourceHandlerFactory = xmlSourceHandlerFactory;
                }
            } finally {
                sourceHandlerFactoryLock.unlock();
            }
        }

        return this.sourceHandlerFactory;
    }
Pair #2297 Negative (Non-Clone)
ID: 257_334
ClassID: 257
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                public void onComplete(Exchange exchange) {
                    processCommit(exchange);
                }

                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }

                @Override
                public String toString() {
                    return "ConsumerOnCompletion";
                }
            });

             
            defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }

        return total;
    }
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
Pair #2298 Negative (Non-Clone)
ID: 1031_878
ClassID: 1031
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createURI(Exchange exchange, String url, UndertowEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, UndertowEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
Pair #2299 Negative (Non-Clone)
ID: 254_326
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.poll()
    protected int poll() throws Exception {
        final String containerName = getEndpoint().getConfiguration().getContainerName();
        final String blobName = getEndpoint().getConfiguration().getBlobName();
        final BlobContainerClient blobContainerClient
                = getEndpoint().getBlobServiceClient().getBlobContainerClient(containerName);

        Queue<Exchange> exchanges;

        try {
            if (ObjectHelper.isNotEmpty(blobName)) {
                 
                final Exchange exchange = createExchangeFromBlob(blobName, blobContainerClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                 
                exchanges = createBatchExchangesFromContainer(blobContainerClient);
            }
            return processBatch(CastUtils.cast(exchanges));
        } catch (BlobStorageException ex) {
            if (404 == ex.getStatusCode()) {
                return 0;
            } else {
                throw ex;
            }
        }
    }
ID: 1838_1500
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCiphers(String names, AbstractFactoryManager factoryManager)
    public static void configureCiphers(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCiphers> builtIn = BuiltinCiphers.VALUES;
        Set<CipherFactory> registered = BuiltinCiphers.getRegisteredExtensions();
        Set<CipherFactory> allCipherFactories = new HashSet<>();
        allCipherFactories.addAll(builtIn);
        allCipherFactories.addAll(registered);
        List<NamedFactory<Cipher>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCipherFactories);
        factoryManager.setCipherFactories(filter(Cipher.class, avail, names.split(",")));
    }
Pair #2300 Negative (Non-Clone)
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
Pair #2301 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
Pair #2302 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #2303 Negative (Non-Clone)
ID: 3244_2575
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertHeaderReifier.java
Name: org.apache.camel.reifier.ConvertHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertHeaderProcessor answer
                = new ConvertHeaderProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2304 Negative (Non-Clone)
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
ID: 443_467
ClassID: 443
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    configuration.getPassphrase().toCharArray());
        }

        return answer;
    }
Pair #2305 Negative (Non-Clone)
ID: 3164_2421
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPollEnricher.java
Name: org.apache.camel.management.mbean.ManagedPollEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #2306 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #2307 Negative (Non-Clone)
ID: 2025_1644
ClassID: 2025
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.createListenerContainer()
    protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
        if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Default) {
            return createDefaultListenerContainer();
        } else if (endpoint.getConfiguration().getReplyToConsumerType() == ConsumerType.Simple) {
            return createSimpleListenerContainer();
        } else {
            return getAbstractMessageListenerContainer(endpoint);
        }
    }
ID: 488_520
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/generated/java/org/apache/camel/component/cxf/converter/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.converter.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.cxf.message.MessageContentsList.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toString((org.apache.cxf.message.MessageContentsList) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2308 Negative (Non-Clone)
ID: 2459_1959
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jibMavenPluginVersion(Path settings, Properties prop)
    protected static String jibMavenPluginVersion(Path settings, Properties prop) {
        String answer = null;
        if (prop != null) {
            answer = prop.getProperty(JIB_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream().filter(l -> l.startsWith(JIB_MAVEN_PLUGIN_VERSION + "="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "3.4.5";
    }
ID: 1256_1102
ClassID: 1256
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #2309 Negative (Non-Clone)
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
Pair #2310 Negative (Non-Clone)
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 380_422
ClassID: 380
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQSendDynamicAware.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQSendDynamicAware.parseExchangeName(String uri)
    private String parseExchangeName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2311 Negative (Non-Clone)
ID: 256_329
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createExchangeFromFile(final String fileName, final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Exchange createExchangeFromFile(final String fileName, final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileClientWrapper clientWrapper
                = new DataLakeFileClientWrapper(dataLakeFileSystemClient.getFileClient(fileName));
        final DataLakeFileOperations operations = new DataLakeFileOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        DataLakeOperationResponse response;

        if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getFileDir())) {
            response = operations.downloadToFile(exchange);
        } else {
            response = operations.getFile(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(DataLakeConstants.FILE_NAME, fileName);
        return exchange;
    }
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #2312 Negative (Non-Clone)
ID: 2472_2005
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListGroovy.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListGroovy.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jo = (JsonObject) root.get("groovy");
                        if (jo != null) {
                            jo = (JsonObject) jo.get("compiler");
                        }
                        if (jo != null) {
                            row = row.copy();
                            row.compiledCounter = jo.getInteger("compiledCounter");
                            row.preloaddCounter = jo.getInteger("preloadedCounter");
                            row.classesSize = jo.getInteger("classesSize");
                            row.time = jo.getLong("compiledTime");
                            row.last = jo.getLong("lastCompilationTimestamp");
                            row.compiledClasses.clear();
                            JsonArray arr = jo.getCollection("classes");
                            for (int i = 0; arr != null && i < arr.size(); i++) {
                                row.compiledClasses.add(arr.getString(i));
                            }
                            rows.add(row);
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("PRELOAD").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.preloaddCounter),
                    new Column().header("COMPILE").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.compiledCounter),
                    new Column().header("TIME").headerAlign(HorizontalAlign.CENTER).with(this::getTime),
                    new Column().header("SINCE").headerAlign(HorizontalAlign.CENTER).with(this::getLast),
                    new Column().header("CLASSES").headerAlign(HorizontalAlign.LEFT).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(60, OverflowBehaviour.ELLIPSIS_LEFT).with(this::getClasses))));
        }

        return 0;
    }
ID: 658_595
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/SubnetProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.SubnetProducer.messageToSubnet(Message message)
    private Subnet messageToSubnet(Message message) {
        Subnet subnet = message.getBody(Subnet.class);
        if (subnet == null) {
            Map headers = message.getHeaders();
            SubnetBuilder builder = Builders.subnet();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            StringHelper.notEmpty(message.getHeader(NeutronConstants.NETWORK_ID, String.class), "Network ID");
            builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));

            ObjectHelper.notNull(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class), "IP version");
            builder.ipVersion(message.getHeader(NeutronConstants.IP_VERSION, IPVersionType.class));

            if (headers.containsKey(NeutronConstants.CIDR)) {
                builder.cidr(message.getHeader(NeutronConstants.CIDR, String.class));
            }

            if (headers.containsKey(NeutronConstants.SUBNET_POOL)) {
                final NeutronPool pool = message.getHeader(NeutronConstants.SUBNET_POOL, NeutronPool.class);
                builder.addPool(pool.getStart(), pool.getEnd());
            }

            if (headers.containsKey(NeutronConstants.NETWORK_ID)) {
                builder.networkId(message.getHeader(NeutronConstants.NETWORK_ID, String.class));
            }

            if (headers.containsKey(NeutronConstants.ENABLE_DHCP)) {
                builder.enableDHCP(message.getHeader(NeutronConstants.ENABLE_DHCP, Boolean.class));
            }

            if (headers.containsKey(NeutronConstants.GATEWAY)) {
                builder.gateway(message.getHeader(NeutronConstants.GATEWAY, String.class));
            }

            subnet = builder.build();
        }

        return subnet;
    }
Pair #2313 Negative (Non-Clone)
ID: 1975_1608
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
Name: org.apache.camel.component.djl.model.audio.CustomAudioPredictor.predict(Exchange exchange, Audio audio)
    protected String predict(Exchange exchange, Audio audio) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<Audio, String> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, audio);
        try (Predictor<Audio, String> predictor = model.newPredictor(translator)) {
            return predictor.predict(audio);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 2314_1826
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-parameter-store/src/main/java/org/apache/camel/component/aws/parameterstore/ParameterStorePropertiesFunction.java
Name: org.apache.camel.component.aws.parameterstore.ParameterStorePropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SsmClientBuilder clientBuilder = SsmClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Parameter Store Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #2314 Negative (Non-Clone)
ID: 3257_2613
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.stopView(String namespace)
    public void stopView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force stop of view {}", namespace);
                        holder.stopView();
                    } else {
                        LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                    }
                });
    }
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #2315 Negative (Non-Clone)
ID: 1559_1381
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
Name: org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not establish connection to XMPP server: " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server: {} Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }
        super.doStart();
    }
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
Pair #2316 Negative (Non-Clone)
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
ID: 1886_1555
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration)
    protected void configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                        type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
                LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                        codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
            }
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #2317 Negative (Non-Clone)
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #2318 Negative (Non-Clone)
ID: 2189_1724
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.tagDroplet(Exchange exchange)
    private void tagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().tagResources(dropletId.toString(), resources);
        LOG.trace("Tag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
Pair #2319 Negative (Non-Clone)
ID: 1424_1271
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/BackOffTimerTask.java
Name: org.apache.camel.util.backoff.BackOffTimerTask.whenComplete(BiConsumer<BackOffTimer.Task, Throwable> whenCompleted)
    public void whenComplete(BiConsumer<BackOffTimer.Task, Throwable> whenCompleted) {
        lock.lock();
        try {
            if (backOff.isRemoveOnComplete()) {
                timer.remove(this);
            }
            consumers.add(whenCompleted);
        } finally {
            lock.unlock();
        }
    }
ID: 2325_1831
ClassID: 2325
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Producer.java
Name: org.apache.camel.component.aws2.athena.Athena2Producer.getRequiredHeader(Exchange exchange, String headerName, Class<T> headerType, Supplier<T> configurationValue, String errorMessage)
    private <T> T getRequiredHeader(
            Exchange exchange,
            String headerName,
            Class<T> headerType,
            Supplier<T> configurationValue,
            String errorMessage) {
        T value = exchange.getIn().getHeader(headerName, headerType);
        if (ObjectHelper.isEmpty(value)) {
            value = configurationValue.get();
        }
        if (ObjectHelper.isEmpty(value)) {
            throw new IllegalArgumentException(errorMessage);
        }
        return value;
    }
Pair #2320 Negative (Non-Clone)
ID: 3160_2404
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.completedExchange(Exchange exchange, long time)
    public void completedExchange(Exchange exchange, long time) {
        if (counter1.isStatisticsEnabled()) {
            counter1.completedExchange(exchange, time);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.completedExchange(exchange, time);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.completedExchange(exchange, time);
        }
    }
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
Pair #2321 Negative (Non-Clone)
ID: 1859_1523
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 2354_1851
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration)
    private boolean determineResetWaitTimeoutOnRetry(final Exchange exchange, Athena2Configuration configuration) {
        Boolean resetWaitTimeoutOnRetry
                = exchange.getIn().getHeader(Athena2Constants.RESET_WAIT_TIMEOUT_ON_RETRY, Boolean.class);

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            resetWaitTimeoutOnRetry = configuration.isResetWaitTimeoutOnRetry();
            LOG.trace("AWS Athena reset wait timeout on retry is missing, using default one [{}]",
                    resetWaitTimeoutOnRetry);
        }

        if (ObjectHelper.isEmpty(resetWaitTimeoutOnRetry)) {
            throw new IllegalArgumentException("AWS Athena reset wait timeout on retry is required.");
        }

        return resetWaitTimeoutOnRetry;
    }
Pair #2322 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 190_211
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeSObjectCollectionsProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        final String apiVersion = configuration.getApiVersion();

        compositeClient = new DefaultCompositeSObjectCollectionsApiClient(
                configuration, apiVersion, session, httpClient, loginConfig);

        if (classMap == null) {
            this.classMap = endpoint.getComponent().getClassMap();
        }
        ServiceHelper.startService(compositeClient);
    }
Pair #2323 Negative (Non-Clone)
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
ID: 2595_2197
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAction(String packed, int offset, int[] result)
    private static int zzUnpackAction(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #2324 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
Pair #2325 Negative (Non-Clone)
ID: 877_727
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initFixedLengthRecordParameters()
    private void initFixedLengthRecordParameters() {

        for (Class<?> cl : models) {

             
            FixedLengthRecord fixedLengthRecord = cl.getAnnotation(FixedLengthRecord.class);

            if (fixedLengthRecord != null) {
                LOG.debug("Fixed length record: {}", fixedLengthRecord);

                 
                crlf = fixedLengthRecord.crlf();
                LOG.debug("Carriage return defined for the CSV: {}", crlf);

                eol = fixedLengthRecord.eol();
                LOG.debug("EOL(end-of-line) defined for the CSV: {}", eol);

                 
                header = fixedLengthRecord.header();
                LOG.debug("Header: {}", header);
                hasHeader = header != void.class;
                LOG.debug("Has Header: {}", hasHeader);

                 
                skipHeader = fixedLengthRecord.skipHeader();
                LOG.debug("Skip Header: {}", skipHeader);

                 
                footer = fixedLengthRecord.footer();
                LOG.debug("Footer: {}", footer);
                hasFooter = fixedLengthRecord.footer() != void.class;
                LOG.debug("Has Footer: {}", hasFooter);

                 
                skipFooter = fixedLengthRecord.skipFooter();
                LOG.debug("Skip Footer: {}", skipFooter);

                 
                isHeader = hasHeader && cl.equals(header);
                LOG.debug("Is Header: {}", isHeader);

                 
                isFooter = hasFooter && cl.equals(footer);
                LOG.debug("Is Footer: {}", isFooter);

                 
                paddingChar = fixedLengthRecord.paddingChar();
                LOG.debug("Padding char: {}", paddingChar);

                 
                recordLength = fixedLengthRecord.length();
                LOG.debug("Length of the record: {}", recordLength);

                 
                ignoreTrailingChars = fixedLengthRecord.ignoreTrailingChars();
                LOG.debug("Ignore trailing chars: {}", ignoreTrailingChars);

                ignoreMissingChars = fixedLengthRecord.ignoreMissingChars();
                LOG.debug("Enable ignore missing chars: {}", ignoreMissingChars);

                countGrapheme = fixedLengthRecord.countGrapheme();
                LOG.debug("Enable grapheme counting instead of codepoints: {}", countGrapheme);
            }
        }

        if (hasHeader && isHeader) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isHeader=true' and 'hasHeader=true'");
        }

        if (hasFooter && isFooter) {
            throw new java.lang.IllegalArgumentException(
                    "Record can not be configured with both 'isFooter=true' and 'hasFooter=true'");
        }

        if ((isHeader || isFooter) && (skipHeader || skipFooter)) {
            throw new java.lang.IllegalArgumentException(
                    "skipHeader and/or skipFooter can not be configured on a record where 'isHeader=true' or 'isFooter=true'");
        }

    }
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #2326 Negative (Non-Clone)
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
Pair #2327 Negative (Non-Clone)
ID: 2271_1792
ClassID: 2271
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.createPreDeleteHandler()
    protected DeleteHandler<Object> createPreDeleteHandler() {
         
        final Class<?> entityType = getEndpoint().getEntityType();
        if (entityType != null) {
             
            List<Method> methods = AnnotationHelper.findMethodsWithAnnotation(entityType, PreConsumed.class);
            if (methods.size() > 1) {
                throw new IllegalStateException(
                        "Only one method can be annotated with the @PreConsumed annotation but found: " + methods);
            } else if (methods.size() == 1) {
                 
                final Method method = methods.get(0);
                final boolean useExchangeParameter = checkParameters(method);
                return (EntityManager em, Object entityBean, Exchange exchange) -> {
                     
                    if (entityType.isInstance(entityBean)) {
                        if (useExchangeParameter) {
                            ObjectHelper.invokeMethod(method, entityBean, exchange);
                        } else {
                            ObjectHelper.invokeMethod(method, entityBean);
                        }
                    }
                };
            }
        }

         
        return (EntityManager em, Object entityBean, Exchange exchange) -> {
        };
    }
ID: 2245_1767
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
Pair #2328 Negative (Non-Clone)
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #2329 Negative (Non-Clone)
ID: 1889_1561
ClassID: 1889
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaUdpProtocolCodecFactory.java
Name: org.apache.camel.component.mina.MinaUdpProtocolCodecFactory.getDecoder(IoSession session)
    public ProtocolDecoder getDecoder(IoSession session) throws Exception {
        return new ProtocolDecoder() {

            public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
                 
                 
                byte[] bytes = context.getTypeConverter().mandatoryConvertTo(byte[].class, in);
                out.write(bytes);
            }

            public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
                 
            }

            public void dispose(IoSession session) throws Exception {
                 
            }
        };
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #2330 Negative (Non-Clone)
ID: 1245_1073
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertRecord(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Record recordObj = exchange.getIn().getMandatoryBody(Record.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing record {}", recordObj);
            }
            writeApi.writeRecord(bucketName, orgName, writePrecision, recordObj.getInfluxRecord());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
Pair #2331 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 3103_2380
ClassID: 3103
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/ResequenceDefinition.java
Name: org.apache.camel.model.ResequenceDefinition.size(int batchSize)
    public ResequenceDefinition size(int batchSize) {
        if (streamConfig != null) {
            throw new IllegalStateException("size() only supported for batch resequencer");
        }
         
        if (batchConfig == null) {
            batch();
        }
        batchConfig.setBatchSize(Integer.toString(batchSize));
        return this;
    }
Pair #2332 Negative (Non-Clone)
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #2333 Negative (Non-Clone)
ID: 1719_1431
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/IteratorConvertTo.java
Name: org.apache.camel.support.IteratorConvertTo.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 3112_2400
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.replace()
    public ProcessorDefinition<?> replace() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.replaceByToUri(route, toUri, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.replaceByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #2334 Negative (Non-Clone)
ID: 2603_2228
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getCollectionOrDefault(final String key, final T defaultValue)
    public <T extends Collection<?>> T getCollectionOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        return (T) returnable;
    }
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
Pair #2335 Negative (Non-Clone)
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
Pair #2336 Negative (Non-Clone)
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #2337 Negative (Non-Clone)
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2338 Negative (Non-Clone)
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2339 Negative (Non-Clone)
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #2340 Negative (Non-Clone)
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
Pair #2341 Negative (Non-Clone)
ID: 110_101
ClassID: 110
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpPluginRegistry.java
Name: org.apache.camel.component.platform.http.PlatformHttpPluginRegistry.register(PlatformHttpPlugin plugin)
    public boolean register(PlatformHttpPlugin plugin) {
        if (getPlugin(plugin.getId()).isPresent()) {
            return false;
        }

        boolean result = plugins.add(plugin);
        if (result) {
            CamelContextAware.trySetCamelContext(plugin, camelContext);
            ServiceHelper.startService(plugin);
            LOG.debug("platform-http-plugin with id {} successfully registered", plugin.getId());
        }
        return result;
    }
ID: 3221_2506
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SingleQuoteStart.java
Name: org.apache.camel.language.simple.ast.SingleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #2342 Negative (Non-Clone)
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #2343 Negative (Non-Clone)
ID: 2246_1769
ClassID: 2246
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.doStop()
        protected void doStop() throws Exception {
            super.doStop();

            this.running.set(false);

            if (cache != null) {
                cache.removeListener(this);
            }

            getCamelContext().getExecutorServiceManager().shutdownGraceful(executorService);

            if (cache != null) {
                cache.remove(InfinispanClusterService.LEADER_KEY, getClusterService().getId());

                LOGGER.info("Removing local member, key={}", getLocalMember().getId());
                cache.remove(getLocalMember().getId());
            }
        }
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
Pair #2344 Negative (Non-Clone)
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
ID: 1273_1114
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performStats(final Exchange exchange, AsyncCallback callback)
    public void performStats(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String stats = dynamicRouterControlService.getStatisticsForChannel(subscribeChannel);
            message.setBody(stats, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
Pair #2345 Negative (Non-Clone)
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
ID: 3098_2368
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.bindingMode(String mode)
    public RestDefinition bindingMode(String mode) {
        if (getVerbs().isEmpty()) {
            this.bindingMode = mode.toLowerCase();
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setBindingMode(mode.toLowerCase());
        }

        return this;
    }
Pair #2346 Negative (Non-Clone)
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #2347 Negative (Non-Clone)
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #2348 Negative (Non-Clone)
ID: 2569_2150
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getDoc(JavaClassSource source, String name)
    private String getDoc(JavaClassSource source, String name) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(name)) {
                String doc = builder.getJavaDoc().getFullText();
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #2349 Negative (Non-Clone)
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #2350 Negative (Non-Clone)
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #2351 Negative (Non-Clone)
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2352 Negative (Non-Clone)
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
ID: 3282_2674
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createPredicate(String expression, Object[] properties)
    public Predicate createPredicate(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        return createPredicate(input, expression, properties);
    }
Pair #2353 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 680_610
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        validate();
        JpaProducer producer = new JpaProducer(this, getProducerExpression());
        producer.setQuery(getQuery());
        producer.setNamedQuery(getNamedQuery());
        producer.setNativeQuery(getNativeQuery());
        producer.setParameters(getParameters());
        producer.setResultClass(getResultClass());
        producer.setFindEntity(isFindEntity());
        producer.setUseExecuteUpdate(getUseExecuteUpdate());
        return producer;
    }
Pair #2354 Negative (Non-Clone)
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2355 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #2356 Negative (Non-Clone)
ID: 2460_1962
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentDependencies(Set<String> deps)
    protected void copyAgentDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("agent:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "agent");
                Files.createDirectories(libDirPath);
                String n = d.substring(6);
                MavenGav gav = MavenGav.parseGav(n);
                copyAgentLibDependencies(gav);
            }
        }
    }
ID: 701_644
ClassID: 701
File: systems/camel-java/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java
Name: org.apache.camel.component.velocity.VelocityComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        VelocityEndpoint answer = new VelocityEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setVelocityEngine(velocityEngine);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #2357 Negative (Non-Clone)
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2358 Negative (Non-Clone)
ID: 2472_2005
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListGroovy.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListGroovy.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jo = (JsonObject) root.get("groovy");
                        if (jo != null) {
                            jo = (JsonObject) jo.get("compiler");
                        }
                        if (jo != null) {
                            row = row.copy();
                            row.compiledCounter = jo.getInteger("compiledCounter");
                            row.preloaddCounter = jo.getInteger("preloadedCounter");
                            row.classesSize = jo.getInteger("classesSize");
                            row.time = jo.getLong("compiledTime");
                            row.last = jo.getLong("lastCompilationTimestamp");
                            row.compiledClasses.clear();
                            JsonArray arr = jo.getCollection("classes");
                            for (int i = 0; arr != null && i < arr.size(); i++) {
                                row.compiledClasses.add(arr.getString(i));
                            }
                            rows.add(row);
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("PRELOAD").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.preloaddCounter),
                    new Column().header("COMPILE").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.compiledCounter),
                    new Column().header("TIME").headerAlign(HorizontalAlign.CENTER).with(this::getTime),
                    new Column().header("SINCE").headerAlign(HorizontalAlign.CENTER).with(this::getLast),
                    new Column().header("CLASSES").headerAlign(HorizontalAlign.LEFT).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(60, OverflowBehaviour.ELLIPSIS_LEFT).with(this::getClasses))));
        }

        return 0;
    }
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #2359 Negative (Non-Clone)
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #2360 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2361 Negative (Non-Clone)
ID: 15_16
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastOperation.java
Name: org.apache.camel.component.hazelcast.HazelcastOperation.getHazelcastOperation(String name)
    public static HazelcastOperation getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastOperation hazelcastOperation : VALUES) {
            if (hazelcastOperation.toString().equalsIgnoreCase(name) || hazelcastOperation.name().equalsIgnoreCase(name)) {
                return hazelcastOperation;
            }
        }
        throw new IllegalArgumentException(String.format("Operation '%s' is not supported by this component.", name));
    }
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
Pair #2362 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #2363 Negative (Non-Clone)
ID: 1779_1459
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetBeforeSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND, false, boolean.class);
        if (resetBeforeSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND), "resetting");
            doConnectionClose(socket, true, null);
            answer = false;
        } else {
            final boolean closeBeforeSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND, false, boolean.class);
            if (closeBeforeSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND), "closing");
                doConnectionClose(socket, false, null);
                answer = false;
            }
        }

        return answer;
    }
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #2364 Negative (Non-Clone)
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #2365 Negative (Non-Clone)
ID: 1240_1063
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SinkConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SinkConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.Double.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDouble((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Integer.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toInteger((org.smooks.io.sink.JavaSink.ResultMap) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toString((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.smooks.io.sink.JavaSink.ResultMap.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toList((org.smooks.io.sink.JavaSink.ResultMap) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, org.smooks.io.sink.StringSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toStringSource((org.smooks.io.sink.StringSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Node.class, org.smooks.io.sink.DOMSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SinkConverter.toDocument((org.smooks.io.sink.DOMSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1425_1273
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.getValue()
        public String getValue() {

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    builder.append("; ").append(element);
                } else {
                    builder.append(element);
                }
            }

            return builder.toString();
        }
Pair #2366 Negative (Non-Clone)
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #2367 Negative (Non-Clone)
ID: 2652_2316
ClassID: 2652
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
Name: org.apache.camel.model.dataformat.BindyDataFormat.getDataFormatName()
    public String getDataFormatName() {
        if ("Csv".equals(type)) {
            return "bindyCsv";
        } else if ("Fixed".equals(type)) {
            return "bindyFixed";
        } else {
            return "bindyKvp";
        }
    }
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
Pair #2368 Negative (Non-Clone)
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2369 Negative (Non-Clone)
ID: 998_850
ClassID: 998
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo4Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo4Configuration endpointConfiguration = createEndpointConfiguration(Olingo4ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo4ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
Pair #2370 Negative (Non-Clone)
ID: 3226_2517
ClassID: 3226
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes)
    private static String[] codeSplitSafe(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(256);

        int codeLevel = 0;
        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

             
            if (input.indexOf(BaseSimpleParser.CODE_START, i) == i) {
                codeLevel++;
                sb.append(BaseSimpleParser.CODE_START);
                i = i + BaseSimpleParser.CODE_START.length() - 1;
                continue;
            } else if (input.indexOf(BaseSimpleParser.CODE_END, i) == i) {
                codeLevel--;
                sb.append(BaseSimpleParser.CODE_END);
                i = i + BaseSimpleParser.CODE_END.length() - 1;
                continue;
            }
            if (codeLevel > 0) {
                sb.append(ch);
                continue;
            }

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
ID: 1905_1568
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedHeadersMDC(Exchange exchange, boolean push)
    private void userSelectedHeadersMDC(Exchange exchange, boolean push) {
        for (String customHeader : getCustomHeaders().split(",")) {
            if (exchange.getIn().getHeader(customHeader) != null) {
                if (push) {
                    MDC.put(customHeader, exchange.getIn().getHeader(customHeader, String.class));
                } else {
                    MDC.remove(customHeader);
                }
            }
        }
    }
Pair #2371 Negative (Non-Clone)
ID: 2469_1992
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelGCAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "gc");
            Path f = getActionFile(Long.toString(pid));
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #2372 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 3214_2492
ClassID: 3214
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.acceptResource(Resource resource)
    protected boolean acceptResource(Resource resource) {
        String loc = resource.getLocation();
        if (loc == null) {
            return false;
        }

         
        if (loc.endsWith("context-check")) {
            return false;
        }

        return true;
    }
Pair #2373 Negative (Non-Clone)
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 1162_994
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setData(T data)
    public void setData(T data) {
        Objects.requireNonNull(data, "data must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.data = data;
        flushCycle();
    }
Pair #2374 Negative (Non-Clone)
ID: 1477_1316
ClassID: 1477
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 1232_1056
ClassID: 1232
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
Name: org.apache.camel.component.atom.AtomComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        AtomEndpoint atom = (AtomEndpoint) endpoint;
        if (atom.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            URI remainingUri = URISupport.createRemainingURI(new URI(remaining), parameters);
            feedUri = remainingUri.toString();
        } else {
            feedUri = remaining;
        }

        atom.setFeedUri(feedUri);
    }
Pair #2375 Negative (Non-Clone)
ID: 3168_2432
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.start()
    public void start() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().startRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error starting route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #2376 Negative (Non-Clone)
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 1275_1119
ClassID: 1275
File: systems/camel-java/core/camel-support/src/generated/java/org/apache/camel/converter/stream/StreamCacheBulkConverterLoader.java
Name: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
Pair #2377 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 2362_1854
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof GetIngestionJobRequest) {
                GetIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.getIngestionJob((GetIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Get Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareGetIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            String ingestionJobId;
            GetIngestionJobRequest.Builder builder = GetIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getIngestionJobId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID))) {
                    ingestionJobId = exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID, String.class);
                } else {
                    throw new IllegalArgumentException("IngestionJobId must be specified");
                }
            } else {
                ingestionJobId = getConfiguration().getIngestionJobId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            builder.ingestionJobId(ingestionJobId);
            GetIngestionJobResponse output = bedrockAgentClient.getIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareGetIngestionJobResponse(output, message);
        }
    }
Pair #2378 Negative (Non-Clone)
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
Pair #2379 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #2380 Negative (Non-Clone)
ID: 242_308
ClassID: 242
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("login", "Client Id/Client Secret");
            AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
            if (azure != null) {
                root.put("refreshEnabled", azure.isRefreshEnabled());
                root.put("refreshPeriod", azure.getRefreshPeriod());
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastCheckTimestamp", timestamp);
                    root.put("lastCheckAge", TimeUtils.printSince(timestamp));
                }
                last = secretsRefreshTask.getLastReloadTime();
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    root.put("lastReloadTimestamp", timestamp);
                    root.put("lastReloadAge", TimeUtils.printSince(timestamp));
                }
            }
            JsonArray arr = new JsonArray();
            root.put("secrets", arr);

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                JsonObject jo = new JsonObject();
                jo.put("name", sec);
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                if (last != null) {
                    long timestamp = last.toEpochMilli();
                    jo.put("timestamp", timestamp);
                    jo.put("age", TimeUtils.printSince(timestamp));
                }
                arr.add(jo);
            }
        }
        return root;
    }
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #2381 Negative (Non-Clone)
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
ID: 1557_1377
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.startRobustConnectionMonitor()
    private void startRobustConnectionMonitor() {
        Runnable connectionCheckRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    checkConnection();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the connection poller thread.", e);
                }
            }
        };
         
        getExecutor().scheduleAtFixedRate(connectionCheckRunnable, endpoint.getConnectionPollDelay(),
                endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #2382 Negative (Non-Clone)
ID: 899_769
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request
                = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
Pair #2383 Negative (Non-Clone)
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #2384 Negative (Non-Clone)
ID: 1282_1129
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteVertex()
    private Function<Exchange, Object> deleteVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                vertexCollection.deleteVertex(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 3241_2569
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/PollReifier.java
Name: org.apache.camel.reifier.PollReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        if ("simple".equals(language)) {
             
            language = "simple-no-file";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
Pair #2385 Negative (Non-Clone)
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 1498_1339
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeAUTOSENSE(String flavor)
    public DocFlavor forMimeTypeAUTOSENSE(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.AUTOSENSE;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.AUTOSENSE;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.AUTOSENSE;
        }

        return d;
    }
Pair #2386 Negative (Non-Clone)
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #2387 Negative (Non-Clone)
ID: 1250_1085
ClassID: 1250
File: systems/camel-java/components/camel-reactive-executor-tomcat/src/main/java/org/apache/camel/reactive/tomcat/TomcatReactiveExecutor.java
Name: org.apache.camel.reactive.tomcat.TomcatReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                if (stats) {
                    executor.pendingTasks.decrement();
                }
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception e) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", e.getMessage(), e);
            }
            return true;
        }
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
Pair #2388 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 2470_1994
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction.getEndpointUri(Row r)
    protected String getEndpointUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #2389 Negative (Non-Clone)
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3242_2572
ClassID: 3242
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/ProtobufDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.ProtobufDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        if (definition.getLibrary() == ProtobufLibrary.GoogleProtobuf) {
            if (definition.getInstanceClass() == null) {
                if (definition.getUnmarshalType() != null) {
                    properties.put("instanceClass", definition.getUnmarshalType().getName());
                } else if (definition.getUnmarshalTypeName() != null) {
                    properties.put("instanceClass", definition.getUnmarshalTypeName());
                }
            } else {
                properties.put("instanceClass", definition.getInstanceClass());
            }
            properties.put("contentTypeFormat", definition.getContentTypeFormat());
            properties.put("defaultInstance", definition.getDefaultInstance());
        } else if (definition.getLibrary() == ProtobufLibrary.Jackson) {
            properties.put("objectMapper", asRef(definition.getObjectMapper()));
            if (definition.getUseDefaultObjectMapper() == null) {
                 
                properties.put("useDefaultObjectMapper", "true");
            } else {
                properties.put("useDefaultObjectMapper", definition.getUseDefaultObjectMapper());
            }
            properties.put("autoDiscoverObjectMapper", definition.getAutoDiscoverObjectMapper());
            properties.put("jsonView", or(definition.getJsonView(), definition.getJsonViewTypeName()));
            properties.put("unmarshalType", or(
                    or(definition.getUnmarshalType(), definition.getUnmarshalTypeName()), definition.getInstanceClass()));
            properties.put("include", definition.getInclude());
            properties.put("allowJmsType", definition.getAllowJmsType());
            properties.put("collectionType", or(definition.getCollectionType(), definition.getCollectionTypeName()));
            properties.put("useList", definition.getUseList());
            properties.put("moduleClassNames", definition.getModuleClassNames());
            properties.put("moduleRefs", definition.getModuleRefs());
            properties.put("enableFeatures", definition.getEnableFeatures());
            properties.put("disableFeatures", definition.getDisableFeatures());
            properties.put("allowUnmarshallType", definition.getAllowUnmarshallType());
            properties.put("schemaResolver", asRef(definition.getSchemaResolver()));
            properties.put("autoDiscoverSchemaResolver", definition.getAutoDiscoverSchemaResolver());
        }
    }
Pair #2390 Negative (Non-Clone)
ID: 174_141
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatch(InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatch(
            InputStream batchStream, String jobId, ContentType contentTypeEnum, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        post.body(new InputStreamRequestContent(batchStream));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(contentTypeEnum) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
Pair #2391 Negative (Non-Clone)
ID: 1873_1545
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        super.configureOptions(camelContext);

        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean renewTokenOnForbidden = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "renew.tokens.on.forbidden").orElse("true"));

            setRenewTokenOnForbidden(renewTokenOnForbidden);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 27_45
ClassID: 27
File: systems/camel-java/components/camel-nitrite/src/generated/java/org/apache/camel/component/nitrite/NitriteTypeConvertersLoader.java
Name: org.apache.camel.component.nitrite.NitriteTypeConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.List.class, org.dizitart.no2.Cursor.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromCursorToList((org.dizitart.no2.Cursor) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.dizitart.no2.Document.class, java.util.Map.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.nitrite.NitriteTypeConverters.fromMapToDocument((java.util.Map) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2392 Negative (Non-Clone)
ID: 893_749
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusEndpoint.java
Name: org.apache.camel.component.milvus.MilvusEndpoint.getClient()
    public MilvusClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 3249_2592
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCommonServices()
    private void setupCommonServices() throws Exception {
        BacklogTracer backlogTracer = getBeanForType(BacklogTracer.class);
        if (backlogTracer != null) {
            LOG.info("Using custom BacklogTracer: {}", backlogTracer);
            getContext().addService(backlogTracer);
        }
        InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
        if (inflightRepository != null) {
            LOG.info("Using custom InflightRepository: {}", inflightRepository);
            getContext().setInflightRepository(inflightRepository);
        }
        AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
        if (asyncProcessorAwaitManager != null) {
            LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
            getContext().getCamelContextExtension().addContextPlugin(AsyncProcessorAwaitManager.class,
                    asyncProcessorAwaitManager);
        }
        ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
        if (managementStrategy != null) {
            LOG.info("Using custom ManagementStrategy: {}", managementStrategy);
            getContext().setManagementStrategy(managementStrategy);
        }
        ManagementObjectNameStrategy managementObjectNameStrategy = getBeanForType(ManagementObjectNameStrategy.class);
        if (managementObjectNameStrategy != null) {
            LOG.info("Using custom ManagementObjectNameStrategy: {}", managementObjectNameStrategy);
            getContext().getManagementStrategy().setManagementObjectNameStrategy(managementObjectNameStrategy);
        }
        EventFactory eventFactory = getBeanForType(EventFactory.class);
        if (eventFactory != null) {
            LOG.info("Using custom EventFactory: {}", eventFactory);
            getContext().getManagementStrategy().setEventFactory(eventFactory);
        }
        UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
        if (unitOfWorkFactory != null) {
            LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
            getContext().getCamelContextExtension().addContextPlugin(UnitOfWorkFactory.class, unitOfWorkFactory);
        }
        RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
        if (runtimeEndpointRegistry != null) {
            LOG.info("Using custom RuntimeEndpointRegistry: {}", runtimeEndpointRegistry);
            getContext().setRuntimeEndpointRegistry(runtimeEndpointRegistry);
        }
        EndpointServiceRegistry endpointServiceRegistry = getBeanForType(EndpointServiceRegistry.class);
        if (endpointServiceRegistry != null) {
            LOG.info("Using custom EndpointServiceRegistry: {}", endpointServiceRegistry);
            getContext().getCamelContextExtension().addContextPlugin(EndpointServiceRegistry.class, endpointServiceRegistry);
        }
        HeadersMapFactory headersMapFactory = getBeanForType(HeadersMapFactory.class);
        if (headersMapFactory != null) {
            LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
            getContext().getCamelContextExtension().setHeadersMapFactory(headersMapFactory);
        }
    }
Pair #2393 Negative (Non-Clone)
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
ID: 2220_1740
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isSigningKey(PGPSecretKey secKey)
    private static boolean isSigningKey(PGPSecretKey secKey) {
        if (!secKey.isSigningKey()) {
            return false;
        }
        Boolean hasSigningKeyFlag = hasOneOfExpectedKeyFlags(secKey.getPublicKey(), new int[] { KeyFlags.SIGN_DATA });
        if (hasSigningKeyFlag != null && !hasSigningKeyFlag) {
             
            LOG.debug(
                    "Secret key with key ID {} found for specified user ID part. But this key will not be used for signing because of its key flags.",
                    secKey.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
Pair #2394 Negative (Non-Clone)
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 412_446
ClassID: 412
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
Pair #2395 Negative (Non-Clone)
ID: 893_745
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaEndpoint.java
Name: org.apache.camel.component.chroma.ChromaEndpoint.getClient()
    public Client getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();

                    if (this.client == null) {
                        this.client = createClient();
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
Pair #2396 Negative (Non-Clone)
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 174_135
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback)
    public void getRecentReports(final Map<String, List<String>> headers, final RecentReportsResponseCallback callback) {
        final Request request = getRequest(HttpMethod.GET, reportsUrl(), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
        });
    }
Pair #2397 Negative (Non-Clone)
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 1183_1005
ClassID: 1183
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename;
        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long filelength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        } else {
            filename = Paths.get(filepath).getFileName().toString();  
        }

        TarArchiveOutputStream tos = new TarArchiveOutputStream(stream);
        tos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
        tos.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);

        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, graph);
        if (filelength == null) {
            filelength = (long) is.available();
        }

        if (preservePathElements) {
            createTarEntries(tos, filepath, filelength);
        } else {
            createTarEntries(tos, filename, filelength);
        }

        try {
            IOHelper.copy(is, tos);
        } finally {
            tos.closeArchiveEntry();
            IOHelper.close(is, tos);
        }

        String newFilename = filename + ".tar";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
Pair #2398 Negative (Non-Clone)
ID: 1106_938
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateGroup(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateGroup(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        KeystoneUpdateGroupOption groupOption;
        if (body instanceof KeystoneUpdateGroupOption) {
            groupOption = (KeystoneUpdateGroupOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                groupOption = new ObjectMapper().readValue(strBody, KeystoneUpdateGroupOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON with the proper keys");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or KeystoneUpdateGroupOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to update group");
        }

         
        KeystoneUpdateGroupRequestBody requestBody = new KeystoneUpdateGroupRequestBody()
                .withGroup(groupOption);
        KeystoneUpdateGroupRequest request = new KeystoneUpdateGroupRequest()
                .withBody(requestBody)
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneUpdateGroupResponse response = iamClient.keystoneUpdateGroup(request);
        exchange.getMessage().setBody(gson.toJson(response.getGroup()));
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #2399 Negative (Non-Clone)
ID: 231_281
ClassID: 231
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<FTPFile> getExclusiveReadLockStrategy(Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<FTPFile> strategy
                = (GenericFileExclusiveReadLockStrategy<FTPFile>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<FTPFile> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FtpChangedExclusiveReadLockStrategy readLockStrategy = new FtpChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #2400 Negative (Non-Clone)
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
Pair #2401 Negative (Non-Clone)
ID: 119_111
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPublicKeyName(String publicKeyName)
    public void setPublicKeyName(String publicKeyName) {
        if (context != null && publicKeyName != null) {
            PublicKey pk = context.getRegistry().lookupByNameAndType(publicKeyName, PublicKey.class);
            if (pk != null) {
                setPublicKey(pk);
            }
        }
        if (publicKeyName != null) {
            this.publicKeyName = publicKeyName;
        }
    }
ID: 1063_921
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlVerifierProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlVerifierProcessor.build()
        XmlSignatureChecker.Input build() {
            return new XmlSignatureChecker.Input() {

                @Override
                public boolean isXmlSchemaValidationExecuted() {
                    return xmlSchemaValidationExecuted;
                }

                @Override
                public int getTotalCountOfSignatures() {
                    return totalCountOfSignatures;
                }

                @Override
                public SignedInfo getSignedInfo() {
                    return signedInfo;
                }

                @Override
                public SignatureValue getSignatureValue() {
                    return signatureValue;
                }

                @Override
                public List<? extends XMLObject> getObjects() {
                    return objects;
                }

                @Override
                public Document getMessageBodyDocument() {
                    return messageBodyDocument;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public Element getCurrentSignatureElement() {
                    return currentSignatureElement;
                }

                @Override
                public int getCurrentCountOfSignatures() {
                    return currentCountOfSignatures;
                }
            };
        }
Pair #2402 Negative (Non-Clone)
ID: 682_616
ClassID: 682
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route),
                                "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route),
                                "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route),
                                "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                longTaskTimer = new OpenTelemetryLongTaskTimer(
                        route, meter, attributes, configuration, namingStrategy, longTaskTimeUnit);
            }
        }
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2403 Negative (Non-Clone)
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
Pair #2404 Negative (Non-Clone)
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
Pair #2405 Negative (Non-Clone)
ID: 438_454
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(true);
            if (producer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
ID: 1407_1260
ClassID: 1407
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppUtils.java
Name: org.apache.camel.component.smpp.SmppUtils.copySubmitMulti(SubmitMulti src)
    public static SubmitMulti copySubmitMulti(SubmitMulti src) {
        SubmitMulti dest = new SubmitMulti();
        dest.setCommandId(src.getCommandId());
        dest.setCommandLength(src.getCommandLength());
        dest.setCommandStatus(src.getCommandStatus());
        dest.setDataCoding(src.getDataCoding());
        dest.setDestAddresses(src.getDestAddresses());
        dest.setEsmClass(src.getEsmClass());
        dest.setOptionalParameters(src.getOptionalParameters());
        dest.setPriorityFlag(src.getPriorityFlag());
        dest.setProtocolId(src.getProtocolId());
        dest.setRegisteredDelivery(src.getRegisteredDelivery());
        dest.setReplaceIfPresentFlag(src.getReplaceIfPresentFlag());
        dest.setScheduleDeliveryTime(src.getScheduleDeliveryTime());
        dest.setSequenceNumber(src.getSequenceNumber());
        dest.setServiceType(src.getServiceType());
        dest.setShortMessage(src.getShortMessage());
        dest.setSmDefaultMsgId(src.getSmDefaultMsgId());
        dest.setSourceAddr(src.getSourceAddr());
        dest.setSourceAddrNpi(src.getSourceAddrNpi());
        dest.setSourceAddrTon(src.getSourceAddrTon());
        dest.setValidityPeriod(src.getValidityPeriod());
        return dest;
    }
Pair #2406 Negative (Non-Clone)
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #2407 Negative (Non-Clone)
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
ID: 308_375
ClassID: 308
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
Pair #2408 Negative (Non-Clone)
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 880_735
ClassID: 880
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DoubleFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.DoubleFormatFactory.parse(String string)
        public Double parse(String string) throws Exception {
            Double value = null;
            if (!super.hasImpliedDecimalPosition()) {
                value = Double.parseDouble(string.trim());
            } else {
                BigDecimal tmp = new BigDecimal(string.trim());
                BigDecimal div = BigDecimal.valueOf(super.getMultiplier());
                value = tmp.divide(div).doubleValue();
            }

            return value;
        }
Pair #2409 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 2354_1848
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration)
    private Integer determineMaxAttempts(final Exchange exchange, Athena2Configuration configuration) {
        Integer maxAttempts = exchange.getIn().getHeader(Athena2Constants.MAX_ATTEMPTS, Integer.class);

        if (ObjectHelper.isEmpty(maxAttempts)) {
            maxAttempts = configuration.getMaxAttempts();
            LOG.trace("AWS Athena max attempts is missing, using default one [{}]", maxAttempts);
        }

        if (ObjectHelper.isEmpty(maxAttempts)) {
            throw new IllegalArgumentException("AWS Athena max attempts is required.");
        }

        if (maxAttempts < 1) {
            throw new IllegalArgumentException("AWS Athena max attempts must be >= 1");
        }

        return maxAttempts;
    }
Pair #2410 Negative (Non-Clone)
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 2339_1842
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #2411 Negative (Non-Clone)
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
ID: 3098_2365
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.description(String description)
    public RestDefinition description(String description) {
        if (getVerbs().isEmpty()) {
            super.description(description);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.description(description);
        }

        return this;
    }
Pair #2412 Negative (Non-Clone)
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
ID: 2651_2314
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onFailure(final Exchange exchange)
        public void onFailure(final Exchange exchange) {
            if (shouldSkip(exchange, onCompleteOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);
            final Exception original = copy.getException();
            if (original != null) {
                 
                 
                copy.setException(null);
            }

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onFailure: {}", copy);
                    doProcess(processor, copy);
                     
                    copy.setException(original);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onFailure: {}", copy);
                doProcess(processor, copy);
                 
                copy.setException(original);
            }
        }
Pair #2413 Negative (Non-Clone)
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 2585_2185
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.evaluateTemplate(final String templateName, final MainModel model)
    private static String evaluateTemplate(final String templateName, final MainModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (MainModel.MainGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #2414 Negative (Non-Clone)
ID: 176_157
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.CLOSED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 992_846
ClassID: 992
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/batch/Olingo4BatchChangeRequest.java
Name: org.apache.camel.component.olingo4.api.batch.Olingo4BatchChangeRequest.build()
        public Olingo4BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
Pair #2415 Negative (Non-Clone)
ID: 1807_1485
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeStopContainerRequest(DockerClient client, Message message)
    private StopContainerCmd executeStopContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Stop Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        StopContainerCmd stopContainerCmd = client.stopContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            stopContainerCmd.withTimeout(timeout);
        }

        return stopContainerCmd;

    }
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
Pair #2416 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 698_639
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdate(Exchange exchange, SqlSession session)
    private void doUpdate(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Updating: {} using statement: {}", value, statement);
                result = session.update(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #2417 Negative (Non-Clone)
ID: 1540_1358
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) {
        LOG.trace("toCamelMessage: {}", response);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(response.getHttpResponse(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(response.getInputStream());
        return answer;
    }
ID: 195_223
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResult(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResult(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        String resultId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
            resultId = getParameter(RESULT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            resultId = getParameter(RESULT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResult(jobId, batchId, resultId, determineHeaders(exchange),
                new BulkApiClient.StreamResponseCallback() {
                    @Override
                    public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        StreamCache body = null;
                        if (inputStream != null) {
                             
                             
                            try {
                                body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                            } catch (IOException e) {
                                String msg = "Error retrieving query result: " + e.getMessage();
                                ex = new SalesforceException(msg, e);
                            } finally {
                                 
                                try {
                                    inputStream.close();
                                } catch (IOException e) {
                                     
                                }
                            }
                        }
                        processResponse(exchange, body, headers, ex, callback);
                    }
                });
    }
Pair #2418 Negative (Non-Clone)
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 195_224
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getResults(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch results: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #2419 Negative (Non-Clone)
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
ID: 597_551
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
Name: org.apache.camel.component.fhir.FhirXmlDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newXmlParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));
        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
Pair #2420 Negative (Non-Clone)
ID: 1310_1183
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 3163_2412
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStickyLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedStickyLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #2421 Negative (Non-Clone)
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
ID: 442_464
ClassID: 442
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.DefaultServerInitializerFactory(NettyConsumer consumer)
    public DefaultServerInitializerFactory(NettyConsumer consumer) {
        this.consumer = consumer;
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #2422 Negative (Non-Clone)
ID: 1723_1444
ClassID: 1723
File: systems/camel-java/components/camel-opensearch/src/generated/java/org/apache/camel/component/opensearch/converter/OpensearchActionRequestConverterLoader.java
Name: org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.opensearch.client.opensearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1860_1524
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildDataPath(String secretPath)
    private String buildDataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/data/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/data/" + secretPath;
            } else {
                return secretsEngine + "/data/" + secretPath;
            }
        }
    }
Pair #2423 Negative (Non-Clone)
ID: 2294_1805
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.getUser(IamClient iamClient, Exchange exchange)
    private void getUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                GetUserRequest.class,
                iamClient::getUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.getUser(GetUserRequest.builder().userName(userName).build());
                },
                "Get user",
                (GetUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 3235_2555
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariablesReifier.java
Name: org.apache.camel.reifier.SetVariablesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getVariables().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one variable specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getVariables().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getVariables().size());
        for (SetVariableDefinition varDef : definition.getVariables()) {
            valueExprs.add(createExpression(varDef.getExpression()));
            Expression nameExpr;
            String key = parseString(varDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetVariablesProcessor answer = new SetVariablesProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2424 Negative (Non-Clone)
ID: 468_501
ClassID: 468
File: systems/camel-java/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapProducer.java
Name: org.apache.camel.component.snmp.SnmpTrapProducer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        try {
            if (this.usm != null) {
                SecurityModels.getInstance().removeSecurityModel(new Integer32(this.usm.getID()));
            }
        } finally {
            this.targetAddress = null;
            this.usm = null;
            this.target = null;
        }
    }
ID: 2451_1939
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent.collectRows()
    List<CatalogBaseCommand.Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : findComponentNames(catalog)) {
            ComponentModel model = catalog.componentModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getScheme();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #2425 Negative (Non-Clone)
ID: 2522_2079
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumSqlserverComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumSqlserverComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumSqlserverComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumSqlserverComponent) component).setConfiguration((org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumSqlserverComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInstance": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseInstance((java.lang.String) value); return true;
            case "databaseNames": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseNames((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "dataQueryMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDataQueryMode((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotAllowSchemaChanges": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotAllowSchemaChanges((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotOptionRecompile": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotOptionRecompile((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxBatchSize((int) value); return true;
            case "maxIterationTransactions": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxIterationTransactions((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingDelayMs((long) value); return true;
            case "streamingFetchSize": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setStreamingFetchSize((int) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumSqlserverComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
ID: 2270_1790
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.recreateEntityManagerIfNeeded()
    private void recreateEntityManagerIfNeeded() {
         
        if (entityManager == null) {
            if (getEndpoint().isSharedEntityManager()) {
                this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
            } else {
                this.entityManager = entityManagerFactory.createEntityManager();
            }
            LOG.trace("Recreated EntityManager {} on {}", entityManager, this);
        }
    }
Pair #2426 Negative (Non-Clone)
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
Pair #2427 Negative (Non-Clone)
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #2428 Negative (Non-Clone)
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
ID: 3108_2393
ClassID: 3108
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
Name: org.apache.camel.model.RoutesDefinition.createRoute()
    protected RouteDefinition createRoute() {
        RouteDefinition route = new RouteDefinition();
        route.setCamelContext(getCamelContext());
        ErrorHandlerFactory handler = getErrorHandlerFactory();
        if (handler != null) {
            route.setErrorHandlerFactoryIfNull(handler);
        }
        if (resource != null) {
            route.setResource(resource);
        }
        return route;
    }
Pair #2429 Negative (Non-Clone)
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
Pair #2430 Negative (Non-Clone)
ID: 2578_2171
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkSince(final File file)
    private void checkSince(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String sinceText = "*Since Camel {since}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);
        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(sinceText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string '" + sinceText + "'");
        }
    }
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
Pair #2431 Negative (Non-Clone)
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #2432 Negative (Non-Clone)
ID: 662_598
ClassID: 662
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathAnnotationExpressionFactory.java
Name: org.apache.camel.language.xpath.XPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 1282_1124
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateDocument()
    private Function<Exchange, Object> updateDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_UPDATE, false, Boolean.class);

                 
                if (isMultiUpdate) {
                    Collection<Object> documents = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.updateDocuments(documents);
                }

                 
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object document = exchange.getMessage().getMandatoryBody();
                return collection.updateDocument(key, document);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2433 Negative (Non-Clone)
ID: 239_294
ClassID: 239
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/vault/IBMEventStreamReloadTriggerTask.java
Name: org.apache.camel.component.ibm.secrets.manager.vault.IBMEventStreamReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 439_458
ClassID: 439
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
Name: org.apache.camel.component.netty.NettyProducer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                     
                    Boolean close;
                    if (ExchangeHelper.isOutCapable(exchange)) {
                        close = exchange.getOut().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    } else {
                        close = exchange.getIn().getHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, Boolean.class);
                    }

                     
                    boolean disconnect = getConfiguration().isDisconnect();
                    if (close != null) {
                        disconnect = close;
                    }

                    if (disconnect) {
                        LOG.trace("Closing channel {} as routing the Exchange is done", channel);
                        NettyHelper.close(channel);
                    }

                    releaseChannel(channelFuture);
                }
Pair #2434 Negative (Non-Clone)
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 436_448
ClassID: 436
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
Name: org.apache.camel.component.netty.NettyConfiguration.copy()
    public NettyConfiguration copy() {
        try {
            NettyConfiguration answer = (NettyConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2435 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
Pair #2436 Negative (Non-Clone)
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 1992_1633
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferMessageStoreFactory(SessionSettings settings)
    private MessageStoreFactory inferMessageStoreFactory(SessionSettings settings) throws ConfigError {
        Set<MessageStoreFactory> impliedMessageStoreFactories = new HashSet<>();
        isJdbcStore(settings, impliedMessageStoreFactories);
        isFileStore(settings, impliedMessageStoreFactories);
        isSleepycatStore(settings, impliedMessageStoreFactories);
        if (impliedMessageStoreFactories.size() > 1) {
            throw new ConfigError("Ambiguous message store implied in configuration.");
        }
        MessageStoreFactory messageStoreFactory;
        if (impliedMessageStoreFactories.size() == 1) {
            messageStoreFactory = impliedMessageStoreFactories.iterator().next();
        } else {
            messageStoreFactory = new MemoryStoreFactory();
        }
        LOG.info("Inferring message store factory: {}", messageStoreFactory.getClass().getName());
        return messageStoreFactory;
    }
Pair #2437 Negative (Non-Clone)
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
ID: 275_346
ClassID: 275
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusProducer.sendMessages()
    private Consumer<Exchange> sendMessages() {
        return (exchange) -> {
            final Object inputBody = exchange.getMessage().getBody();
            Map<String, Object> applicationProperties
                    = exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, Map.class);
            if (applicationProperties == null) {
                applicationProperties = new HashMap<>();
            }
            propagateHeaders(exchange, applicationProperties);
            final String correlationId = exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, String.class);
            final String sessionId = getConfiguration().getSessionId();

            if (inputBody instanceof Iterable<?>) {
                serviceBusSenderOperations.sendMessages(convertBodyToList((Iterable<?>) inputBody),
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            } else {
                Object convertedBody = inputBody instanceof BinaryData ? inputBody
                        : getConfiguration().isBinary() ? convertBodyToBinary(exchange)
                        : exchange.getMessage().getBody(String.class);

                serviceBusSenderOperations.sendMessages(convertedBody,
                        configurationOptionsProxy.getServiceBusTransactionContext(exchange), applicationProperties,
                        correlationId,
                        sessionId);
            }
        };
    }
Pair #2438 Negative (Non-Clone)
ID: 1184_1007
ClassID: 1184
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.unmarshal(final Exchange exchange, final InputStream stream)
    public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception {
        if (usingIterator) {
            TarIterator tarIterator = new TarIterator(exchange, stream);
            tarIterator.setAllowEmptyDirectory(allowEmptyDirectory);
            return tarIterator;
        } else {
            BufferedInputStream bis = new BufferedInputStream(stream);
            TarArchiveInputStream tis = (TarArchiveInputStream) new ArchiveStreamFactory()
                    .createArchiveInputStream(ArchiveStreamFactory.TAR, bis);
            OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

            try {
                TarArchiveEntry entry = tis.getNextEntry();
                if (entry != null) {
                    exchange.getMessage().setHeader(FILE_NAME, entry.getName());
                    IOHelper.copy(tis, osb, IOHelper.DEFAULT_BUFFER_SIZE, false, maxDecompressedSize);
                } else {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }

                entry = tis.getNextEntry();
                if (entry != null) {
                    throw new IllegalStateException("Tar file has more than 1 entry.");
                }

                return osb.build();

            } finally {
                IOHelper.close(osb, tis, bis);
            }
        }
    }
ID: 1232_1057
ClassID: 1232
File: systems/camel-java/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssComponent.java
Name: org.apache.camel.component.rss.RssComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        RssEndpoint rss = (RssEndpoint) endpoint;
        if (rss.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            Map<String, Object> options = new LinkedHashMap<>(parameters);
            String query = URISupport.createQueryString(options);
            feedUri = remaining + "?" + query;
        } else {
            feedUri = remaining;
        }

        rss.setFeedUri(feedUri);
    }
Pair #2439 Negative (Non-Clone)
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #2440 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #2441 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
Pair #2442 Negative (Non-Clone)
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 2247_1772
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryRemovedEvent<?, ?> event)
    public void processEvent(CacheEntryRemovedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                        e.getMessage().setHeader(InfinispanConstants.OLD_VALUE, event.getOldValue());
                    });
        }
    }
Pair #2443 Negative (Non-Clone)
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
ID: 2603_2228
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getCollectionOrDefault(final String key, final T defaultValue)
    public <T extends Collection<?>> T getCollectionOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        return (T) returnable;
    }
Pair #2444 Negative (Non-Clone)
ID: 2245_1767
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2445 Negative (Non-Clone)
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
Pair #2446 Negative (Non-Clone)
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #2447 Negative (Non-Clone)
ID: 1861_1527
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
Pair #2448 Negative (Non-Clone)
ID: 1230_1054
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStarted(final DisruptorConsumer consumer)
    void onStarted(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
             
            if (!consumers.isEmpty() && !isMultipleConsumersSupported()) {
                throw new IllegalStateException(
                        "Multiple consumers for the same endpoint is not allowed: " + this);
            }
            if (consumers.add(consumer)) {
                LOGGER.debug("Starting consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to start Consumer {} on endpoint {} but it was already started", consumer,
                        getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2449 Negative (Non-Clone)
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
ID: 2107_1701
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.resolveDataSetCallback(Exchange exchange)
    protected DataSetCallback resolveDataSetCallback(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER) != null) {
            return (DataSetCallback) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASET_CALLBACK_HEADER);
        } else if (getEndpoint().getDataSetCallback() != null) {
            return getEndpoint().getDataSetCallback();
        } else {
            throw new IllegalStateException("Cannot resolve DataSet callback.");
        }
    }
Pair #2450 Negative (Non-Clone)
ID: 2201_1730
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GitHubResource.java
Name: org.apache.camel.github.GitHubResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2451 Negative (Non-Clone)
ID: 1138_981
ClassID: 1138
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
Name: org.apache.camel.component.couchbase.CouchbaseConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 2441_1918
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadDebug(long pid)
    JsonObject loadDebug(long pid) {
        try {
            Path p = getDebugFile(Long.toString(pid));
            if (p != null && Files.exists(p)) {
                String text = Files.readString(p);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #2452 Negative (Non-Clone)
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
Pair #2453 Negative (Non-Clone)
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 769_701
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonTextToSpeechConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom models, language filter: {}", language);

        ListCustomModelsOptions.Builder builder = new ListCustomModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListCustomModelsOptions options = builder.build();
        CustomModels customModels = tts.listCustomModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<CustomModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
Pair #2454 Negative (Non-Clone)
ID: 285_353
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toInteger(JsonNode node, Exchange exchange)
    public Integer toInteger(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.canConvertToInt()) {
                return nn.asInt();
            }
        }
        String text = node.asText();
        return Integer.valueOf(text);
    }
ID: 1218_1048
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentIntents(Exchange exchange, String method)
    private Object handlePaymentIntents(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentIntent.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentIntent.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String piId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent pi = PaymentIntent.retrieve(piId);
                return pi.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentIntent cancelPi = PaymentIntent.retrieve(cancelId);
                return cancelPi.cancel();
            case StripeConstants.METHOD_LIST:
                return PaymentIntent.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment intents: " + method);
        }
    }
Pair #2455 Negative (Non-Clone)
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 997_848
ClassID: 997
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Consumer.java
Name: org.apache.camel.component.olingo4.Olingo4Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null
                    || result[0] instanceof ClientEntitySet && (((ClientEntitySet) result[0]).getEntities().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2456 Negative (Non-Clone)
ID: 2589_2194
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findFieldsForClass(Class<?> c)
    private Stream<? extends Member> findFieldsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.PROPERTY || accessType == XmlAccessType.NONE) {
            return Stream
                    .of(c.getDeclaredFields())
                    .filter(f -> f.getAnnotation(XmlAttribute.class) != null || f.getAnnotation(XmlElement.class) != null
                            || f.getAnnotation(XmlElementRef.class) != null || f.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Field::getName));
        } else {
            return Stream.of(c.getDeclaredFields())
                    .filter(f -> !Modifier.isTransient(f.getModifiers()) && !Modifier.isStatic(f.getModifiers()))
                    .filter(f -> Modifier.isPublic(f.getModifiers()) || accessType == XmlAccessType.FIELD)
                    .filter(f -> f.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Field::getName));
        }
    }
ID: 1313_1202
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doCreateOrUpdatePersistentVolumeClaim(Exchange exchange, String operationName, Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation)
    private void doCreateOrUpdatePersistentVolumeClaim(
            Exchange exchange, String operationName,
            Function<Resource<PersistentVolumeClaim>, PersistentVolumeClaim> operation) {
        String pvcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimSpec pvcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUME_CLAIM_SPEC, PersistentVolumeClaimSpec.class);
        if (ObjectHelper.isEmpty(pvcName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(pvcSpec)) {
            LOG.error("{} a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                    operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Persistent Volume Claim require specify a Persistent Volume Claim spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaim pvcCreating = new PersistentVolumeClaimBuilder().withNewMetadata().withName(pvcName)
                .withLabels(labels).endMetadata().withSpec(pvcSpec).build();
        PersistentVolumeClaim pvc
                = operation.apply(getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespaceName)
                        .resource(pvcCreating));

        prepareOutboundMessage(exchange, pvc);
    }
Pair #2457 Negative (Non-Clone)
ID: 3168_2433
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.stop()
    public void stop() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().stopRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error stopping route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 3160_2403
ClassID: 3160
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/CompositePerformanceCounter.java
Name: org.apache.camel.management.CompositePerformanceCounter.processExchange(Exchange exchange, String type)
    public void processExchange(Exchange exchange, String type) {
        if (counter1.isStatisticsEnabled()) {
            counter1.processExchange(exchange, type);
        }
        if (counter2.isStatisticsEnabled()) {
            counter2.processExchange(exchange, type);
        }
        if (counter3 != null && counter3.isStatisticsEnabled()) {
            counter3.processExchange(exchange, type);
        }
    }
Pair #2458 Negative (Non-Clone)
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #2459 Negative (Non-Clone)
ID: 243_315
ClassID: 243
File: systems/camel-java/components/camel-cyberark-vault/src/main/java/org/apache/camel/component/cyberark/vault/CyberArkVaultPropertiesFunction.java
Name: org.apache.camel.component.cyberark.vault.CyberArkVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;

        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from CyberArk Conjur vault using key: " + key + " due to: " + e.getMessage(),
                        e);
            }
        }

        return returnValue;
    }
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
Pair #2460 Negative (Non-Clone)
ID: 233_283
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareDirectoryClient dirClient)
    private boolean existsRemote(ShareDirectoryClient dirClient) {
        try {
            return Boolean.TRUE.equals(
                    dirClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
Pair #2461 Negative (Non-Clone)
ID: 1311_1197
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doListPodsByLabel(Exchange exchange)
    protected void doListPodsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        PodList podList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get pods by labels require specify a labels set");
            throw new IllegalArgumentException("Get pods by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().withLabels(labels).list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
ID: 768_699
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Custom model ID must be specified");
        }

        LOG.trace("Getting custom language model: {}", modelId);

        com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions options
                = new com.ibm.watson.speech_to_text.v1.model.GetLanguageModelOptions.Builder()
                        .customizationId(modelId)
                        .build();

        LanguageModel customModel = stt.getLanguageModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #2462 Negative (Non-Clone)
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 3174_2446
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors)
    public String dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> processors = new ArrayList<>();
            if (includeProcessors) {
                 
                query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName on : names) {
                    ManagedProcessorMBean processor = context.getManagementStrategy().getManagementAgent().newProxyClient(on,
                            ManagedProcessorMBean.class);
                    processors.add(processor);
                }
            }
            processors.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                if (includeProcessors) {
                    sb.append("      <processorStats>\n");
                    for (ManagedProcessorMBean processor : processors) {
                        int line = processor.getSourceLineNumber() != null ? processor.getSourceLineNumber() : -1;
                         
                        if (route.getRouteId().equals(processor.getRouteId())) {
                            sb.append("        <processorStat")
                                    .append(String.format(
                                            " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                            processor.getProcessorId(), processor.getIndex(), processor.getState(),
                                            processor.getDisabled(), line));
                             
                            stat = processor.dumpStatsAsXml(fullStats);
                            sb.append(" exchangesInflight=\"").append(processor.getExchangesInflight()).append("\"");
                            sb.append(" ").append(stat, 7, stat.length()).append("\n");
                        }
                    }
                    sb.append("      </processorStats>\n");
                }
                sb.append("    </routeStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
Pair #2463 Negative (Non-Clone)
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 714_653
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/AttributeProcessor.java
Name: org.apache.camel.opentelemetry.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            Span span = camelSpan.getOpenTelemetrySpan();
            if (span != null) {
                String tag = expression.evaluate(exchange, String.class);
                span.setAttribute(attributeName, tag);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #2464 Negative (Non-Clone)
ID: 2221_1741
ClassID: 2221
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
Name: org.apache.camel.converter.crypto.PGPKeyAccessDataFormat.determineEncryptionUserIds(Exchange exchange)
    protected List<String> determineEncryptionUserIds(Exchange exchange) {
        String userid = findKeyUserid(exchange);
        List<String> userids = findKeyUserids(exchange);
         
        List<String> result;
        if (userid != null) {
            if (userids == null || userids.isEmpty()) {
                result = Collections.singletonList(userid);
            } else {
                result = new ArrayList<>(userids.size() + 1);
                result.add(userid);
                result.addAll(userids);
            }
        } else {
            if (userids == null || userids.isEmpty()) {
                throw new IllegalStateException("Cannot PGP encrypt message. No User ID of the public key specified.");
            }
            result = userids;
        }
        return result;
    }
ID: 3296_2704
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.stop()
    public void stop() {
        lock.lock();
        try {
            if (status == FAILED) {
                logger().trace("Service: {} failed and regarded as already stopped", this);
                return;
            }
            if (status == STOPPED || status == SHUTTING_DOWN || status == SHUTDOWN) {
                logger().trace("Service: {} already stopped", this);
                return;
            }
            if (status == STOPPING) {
                logger().trace("Service: {} already stopping", this);
                return;
            }
            status = STOPPING;
            logger().trace("Stopping service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doStop();
                status = STOPPED;
                logger().trace("Stopped: {} service", this);
            } catch (Exception e) {
                logger().trace("Error while stopping service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2465 Negative (Non-Clone)
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
ID: 3275_2652
ClassID: 3275
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.next(boolean first)
        Object next(boolean first) {
            Object answer = image;
             
            if (scanner.hasNext()) {
                image = getNext(first);
            } else {
                image = null;
            }

            if (answer == null) {
                 
                answer = image;
            }
            return answer;
        }
Pair #2466 Negative (Non-Clone)
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2467 Negative (Non-Clone)
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
ID: 285_355
ClassID: 285
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
Name: org.apache.camel.component.jackson.converter.JacksonTypeConverters.toDouble(JsonNode node, Exchange exchange)
    public Double toDouble(JsonNode node, Exchange exchange) throws Exception {
        if (node instanceof NumericNode) {
            NumericNode nn = (NumericNode) node;
            if (nn.isFloatingPointNumber()) {
                return nn.asDouble();
            }
        }
        String text = node.asText();
        return Double.valueOf(text);
    }
Pair #2468 Negative (Non-Clone)
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
ID: 453_484
ClassID: 453
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.getFileInfo(String fileId, String... fields)
    public BoxFile.Info getFileInfo(String fileId, String... fields) {
        try {
            LOG.debug("Getting info for file(id={})", fileId);
            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);

            BoxFile file = new BoxFile(boxConnection, fileId);

            if (fields == null || fields.length == 0) {
                return file.getInfo();
            } else {
                return file.getInfo(fields);
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #2469 Negative (Non-Clone)
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 375_405
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getEndpoint().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
Pair #2470 Negative (Non-Clone)
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
Pair #2471 Negative (Non-Clone)
ID: 2597_2208
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShort(final String key)
    public Short getShort(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #2472 Negative (Non-Clone)
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 2607_2238
ClassID: 2607
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
Pair #2473 Negative (Non-Clone)
ID: 2474_2015
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpTraceFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseTraceLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        int doneTraces = 0;
        for (Row r : rows) {
            printTrace(r.name, pids.size(), r, limit);
            if (r.done) {
                doneTraces++;
            }
        }

        if (latest) {
             
            return doneTraces == 0;
        } else {
            return true;
        }
    }
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
Pair #2474 Negative (Non-Clone)
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
ID: 738_664
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/oracle/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.drop.on.stop", logMiningBufferDropOnStop);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.host", openlogreplicatorHost);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.include.redo.sql", logMiningIncludeRedoSql);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "log.mining.readonly.hostname", logMiningReadonlyHostname);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.gap.size.min", logMiningScnGapDetectionGapSizeMin);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.default.ms", logMiningSleepTimeDefaultMs);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.increment", logMiningBatchSizeIncrement);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.scn.poll.interval.ms", logMiningArchiveLogOnlyScnPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "log.mining.restart.connection", logMiningRestartConnection);
        addPropertyIfNotNull(configBuilder, "legacy.decimal.handling.strategy", legacyDecimalHandlingStrategy);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.transactions", logMiningBufferInfinispanCacheTransactions);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.schemachanges.config", logMiningBufferEhcacheSchemachangesConfig);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "log.mining.strategy", logMiningStrategy);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.out.server.name", databaseOutServerName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "archive.log.hours", archiveLogHours);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "database.pdb.name", databasePdbName);
        addPropertyIfNotNull(configBuilder, "database.connection.adapter", databaseConnectionAdapter);
        addPropertyIfNotNull(configBuilder, "log.mining.flush.table.name", logMiningFlushTableName);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.source", openlogreplicatorSource);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.type", logMiningBufferType);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "log.mining.query.filter.mode", logMiningQueryFilterMode);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.default", logMiningBatchSizeDefault);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.processedtransactions.config", logMiningBufferEhcacheProcessedtransactionsConfig);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.global.config", logMiningBufferEhcacheGlobalConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.min.ms", logMiningSleepTimeMinMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.include.list", logMiningClientidIncludeList);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.exclude.list", logMiningClientidExcludeList);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "log.mining.username.include.list", logMiningUsernameIncludeList);
        addPropertyIfNotNull(configBuilder, "lob.enabled", lobEnabled);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.mode", logMiningArchiveLogOnlyMode);
        addPropertyIfNotNull(configBuilder, "log.mining.path.dictionary", logMiningPathDictionary);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.schema_changes", logMiningBufferInfinispanCacheSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.max.ms", logMiningSleepTimeMaxMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.username.exclude.list", logMiningUsernameExcludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.transactions.config", logMiningBufferEhcacheTransactionsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.processed_transactions", logMiningBufferInfinispanCacheProcessedTransactions);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.events", logMiningBufferInfinispanCacheEvents);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "archive.destination.name", archiveDestinationName);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.time.interval.max.ms", logMiningScnGapDetectionTimeIntervalMaxMs);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "rac.nodes", racNodes);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.global", logMiningBufferInfinispanCacheGlobal);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.transaction.events.threshold", logMiningBufferTransactionEventsThreshold);
        addPropertyIfNotNull(configBuilder, "log.mining.transaction.retention.ms", logMiningTransactionRetentionMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.database.errors.max.retries", snapshotDatabaseErrorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.port", openlogreplicatorPort);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.events.config", logMiningBufferEhcacheEventsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.max", logMiningBatchSizeMax);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "database.url", databaseUrl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.increment.ms", logMiningSleepTimeIncrementMs);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.session.max.ms", logMiningSessionMaxMs);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.min", logMiningBatchSizeMin);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #2475 Negative (Non-Clone)
ID: 284_351
ClassID: 284
File: systems/camel-java/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
Name: org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        AvroSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.AVRO.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
Pair #2476 Negative (Non-Clone)
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2477 Negative (Non-Clone)
ID: 2046_1658
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 174_143
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportResults(String reportId, String instanceId, final Map<String, List<String>> headers, final ReportResultsResponseCallback callback)
    public void getReportResults(
            String reportId, String instanceId, final Map<String, List<String>> headers,
            final ReportResultsResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId, instanceId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                AsyncReportResults reportResults = null;
                try {
                    reportResults = unmarshalResponse(response, request, AsyncReportResults.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportResults, headers, ex);
            }
        });
    }
Pair #2478 Negative (Non-Clone)
ID: 2400_1889
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferProducer.java
Name: org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case READ_ONCE_HEAD:
                this.readOnceHead(exchange);
                break;

            case READ_ONCE_TAIL:
                this.readOnceTail(exchange);
                break;

            case CAPACITY:
                this.getCapacity(exchange);
                break;

            case REMAINING_CAPACITY:
                this.getRemainingCapacity(exchange);
                break;

            case ADD:
                this.add(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the RINGBUFFER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #2479 Negative (Non-Clone)
ID: 1905_1569
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedPropertiesMDC(Exchange exchange, boolean push)
    private void userSelectedPropertiesMDC(Exchange exchange, boolean push) {
        for (String customProperty : getCustomProperties().split(",")) {
            if (exchange.getProperty(customProperty) != null) {
                if (push) {
                    MDC.put(customProperty, exchange.getProperty(customProperty, String.class));
                } else {
                    MDC.remove(customProperty);
                }
            }
        }
    }
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #2480 Negative (Non-Clone)
ID: 2211_1737
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.failJob(JobRequest message)
    public JobResponse failJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.FailJobRequest.Builder builder = GatewayOuterClass.FailJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            builder = builder.setErrorMessage(message.getFailMessage());
            GatewayOuterClass.FailJobRequest request = builder.build();
            GatewayOuterClass.FailJobResponse failJobResponse = stub.failJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 3100_2374
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ParamDefinition.java
Name: org.apache.camel.model.rest.ParamDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
Pair #2481 Negative (Non-Clone)
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #2482 Negative (Non-Clone)
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
Pair #2483 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 1105_936
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to get group users");
        }

         
        KeystoneListUsersForGroupByAdminRequest request = new KeystoneListUsersForGroupByAdminRequest()
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneListUsersForGroupByAdminResponse response = iamClient.keystoneListUsersForGroupByAdmin(request);
        exchange.getMessage().setBody(gson.toJson(response.getUsers()));
    }
Pair #2484 Negative (Non-Clone)
ID: 3181_2460
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsYaml(CamelContext camelContext)
    protected void doDumpRoutesAsYaml(CamelContext camelContext) {
        final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYamlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition rests = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    rests.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-configurations", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition rests = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    rests.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "route-templates", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpYaml(camelContext, def, resource == dummy ? null : resource, dumper, "routes", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "yaml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as YAML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

    }
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
Pair #2485 Negative (Non-Clone)
ID: 1255_1099
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DeadLetterChannelDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #2486 Negative (Non-Clone)
ID: 2399_1885
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzInstance(CamelContext context, Map<String, Object> parameters) throws Exception {
        HazelcastInstance hzInstance = null;
        Config config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = Hazelcast.getHazelcastInstanceByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, Config.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = Hazelcast.newHazelcastInstance(config);
            } else if (config != null) {
                if (ObjectHelper.isNotEmpty(config.getInstanceName())) {
                    hzInstance = Hazelcast.getOrCreateHazelcastInstance(config);
                } else {
                    hzInstance = Hazelcast.newHazelcastInstance(config);
                }
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
ID: 110_102
ClassID: 110
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
Name: org.apache.camel.impl.console.DefaultDevConsoleRegistry.register(DevConsole console)
    public boolean register(DevConsole console) {
        boolean result;
         
        if (getConsole(console.getId()).isPresent()) {
            return false;
        }
        result = consoles.add(console);
        if (result) {
            CamelContextAware.trySetCamelContext(console, camelContext);
             
            ServiceHelper.startService(console);
            LOG.debug("DevConsole with id {} successfully registered", console.getId());
        }
        return result;
    }
Pair #2487 Negative (Non-Clone)
ID: 1104_934
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (obsClient == null) {
            this.obsClient = endpoint.initClient();
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case OBSOperations.LIST_BUCKETS:
                listBuckets(exchange);
                break;
            case OBSOperations.CREATE_BUCKET:
                createBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.DELETE_BUCKET:
                deleteBucket(exchange, clientConfigurations);
                break;
            case OBSOperations.CHECK_BUCKET_EXISTS:
                checkBucketExists(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_BUCKET_METADATA:
                getBucketMetadata(exchange, clientConfigurations);
                break;
            case OBSOperations.LIST_OBJECTS:
                listObjects(exchange, clientConfigurations);
                break;
            case OBSOperations.GET_OBJECT:
                getObject(exchange, clientConfigurations);
                break;
            case OBSOperations.PUT_OBJECT:
                putObject(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 3098_2362
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.disabled(String disabled)
    public RestDefinition disabled(String disabled) {
        if (getVerbs().isEmpty()) {
            this.disabled = disabled;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setDisabled(disabled);
        }

        return this;
    }
Pair #2488 Negative (Non-Clone)
ID: 104_89
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClient(Keycloak keycloakClient, Exchange exchange)
    private void createClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                Response response = keycloakClient.realm(realmName).clients().create((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientRepresentation client = new ClientRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID))) {
                String clientId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_ID, String.class);
                client.setClientId(clientId);
                client.setEnabled(true);
            } else {
                throw new IllegalArgumentException(MISSING_CLIENT_ID);
            }
            Response response = keycloakClient.realm(realmName).clients().create(client);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 2649_2308
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpTracedMessagesAsJSon(String nodeId)
    public String dumpTracedMessagesAsJSon(String nodeId) {
        List<BacklogTracerEventMessage> events = dumpTracedMessages(nodeId);

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #2489 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #2490 Negative (Non-Clone)
ID: 2671_2360
ClassID: 2671
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfAllGroups()
    public int forceCompletionOfAllGroups() {

         
        boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
        if (!allow) {
            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started",
                    camelContext.getName());
            return 0;
        }

        LOG.trace("Starting force completion of all groups task");

         
        Set<String> keys = aggregationRepository.getKeys();

        int total = 0;
        if (keys != null && !keys.isEmpty()) {
             
            lock.lock();
            total = keys.size();
            try {
                for (String key : keys) {
                    Exchange exchange = aggregationRepository.get(camelContext, key);
                    if (exchange != null) {
                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         
                        exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                        Exchange answer = onCompletion(key, exchange, exchange, false, false);
                        if (answer != null) {
                            onSubmitCompletion(key, answer);
                        }
                    }
                }
            } finally {
                lock.unlock();
            }
        }
        LOG.trace("Completed force completion of all groups task");

        if (total > 0) {
            LOG.debug("Forcing completion of all groups with {} exchanges", total);
        }
        return total;
    }
ID: 1954_1592
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/ManagementProducer.java
Name: org.apache.camel.component.torchserve.producer.ManagementProducer.unregister(Exchange exchange)
    private void unregister(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        UnregisterOptions options = Optional
                .ofNullable(message.getHeader(TorchServeConstants.UNREGISTER_OPTIONS, UnregisterOptions.class))
                .or(() -> Optional.ofNullable(configuration.getUnregisterOptions()))
                .orElse(UnregisterOptions.empty());
        Response response;
        if (modelVersion == null) {
            response = this.management.unregisterModel(modelName, options);
        } else {
            response = this.management.unregisterModel(modelName, modelVersion, options);
        }
        message.setBody(response.getStatus());
    }
Pair #2491 Negative (Non-Clone)
ID: 1547_1366
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/DeleteOperation.java
Name: org.apache.camel.component.zookeeper.operations.DeleteOperation.getResult()
    public OperationResult<Boolean> getResult() {
        try {
            connection.delete(node, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'", node));
                } else {
                    LOG.debug(format("Set data of node '%s'", node));
                }
            }
            return new OperationResult<>(true, null, true);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 897_751
ClassID: 897
File: systems/camel-java/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
Name: org.apache.camel.component.slack.SlackConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #2492 Negative (Non-Clone)
ID: 191_213
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetBlobField(final Exchange exchange, final AsyncCallback callback)
    private void processGetBlobField(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
         
        final String sObjectBlobFieldName = getParameter(SOBJECT_BLOB_FIELD_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        String sObjectId = determineSObjectId(exchange);

        restClient.getBlobField(sObjectName, sObjectId, sObjectBlobFieldName, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, sObjectId, null, null);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 701_641
ClassID: 701
File: systems/camel-java/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelComponent.java
Name: org.apache.camel.component.mvel.MvelComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        MvelEndpoint answer = new MvelEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #2493 Negative (Non-Clone)
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #2494 Negative (Non-Clone)
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1957_1595
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.fetch(Exchange exchange)
    private void fetch(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        FetchResponse result
                = index.fetch(elements);

        populateFetchResponse(result, exchange);
    }
Pair #2495 Negative (Non-Clone)
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 898_761
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarComponent.getClient(GoogleCalendarConfiguration config)
    public Calendar getClient(GoogleCalendarConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Calendar client");
            }
        }
        return client;
    }
Pair #2496 Negative (Non-Clone)
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #2497 Negative (Non-Clone)
ID: 3202_2464
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addConfigurationClass(Class<? extends CamelConfiguration>... configuration)
    private void addConfigurationClass(Class<? extends CamelConfiguration>... configuration) {
        StringJoiner existing = new StringJoiner(",");
        if (configurationClasses != null && !configurationClasses.isEmpty()) {
            existing.add(configurationClasses);
        }
        if (configuration != null) {
            for (Class<? extends CamelConfiguration> clazz : configuration) {
                existing.add(clazz.getName());
            }
        }
        setConfigurationClasses(existing.toString());
    }
ID: 467_500
ClassID: 467
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.AS2ApiCollection()
    private AS2ApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(AS2ApiName.class);
        final Map<Class<? extends ApiMethod>, AS2ApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList("ediMessageTransferEncoding", "signingAlgorithm", "signingCertificateChain", "signingPrivateKey", "compressionAlgorithm", "dispositionNotificationTo", "signedReceiptMicAlgorithms", "encryptingAlgorithm", "encryptingCertificateChain", "attachedFileName", "receiptDeliveryOption", "ediMessageCharset", "userName", "password", "accessToken");
        apiHelpers.put(AS2ApiName.CLIENT, new ApiMethodHelper<>(AS2ClientManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ClientManagerApiMethod.class, AS2ApiName.CLIENT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.SERVER, new ApiMethodHelper<>(AS2ServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2ServerManagerApiMethod.class, AS2ApiName.SERVER);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(AS2ApiName.RECEIPT, new ApiMethodHelper<>(AS2AsyncMDNServerManagerApiMethod.class, aliases, nullableArgs));
        apiMethods.put(AS2AsyncMDNServerManagerApiMethod.class, AS2ApiName.RECEIPT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #2498 Negative (Non-Clone)
ID: 2295_1813
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
Pair #2499 Negative (Non-Clone)
ID: 2661_2340
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            long delay = throttlingState.peek().getDelay(TimeUnit.NANOSECONDS);
            asyncExecutor.schedule(() -> process(exchange, callback), delay, TimeUnit.NANOSECONDS);
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
Pair #2500 Negative (Non-Clone)
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
Pair #2501 Negative (Non-Clone)
ID: 657_581
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
Name: org.apache.camel.component.openstack.cinder.CinderEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case CinderConstants.VOLUMES:
                return new VolumeProducer(this, createClient());
            case CinderConstants.SNAPSHOTS:
                return new SnapshotProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #2502 Negative (Non-Clone)
ID: 2299_1819
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Sqs2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleMessage(exchange);
        } else {
            switch (operation) {
                case sendBatchMessage:
                    sendBatchMessage(getClient(), exchange);
                    break;
                case deleteMessage:
                    deleteMessage(getClient(), exchange);
                    break;
                case listQueues:
                    listQueues(getClient(), exchange);
                    break;
                case purgeQueue:
                    purgeQueue(getClient(), exchange);
                    break;
                case deleteQueue:
                    deleteQueue(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #2503 Negative (Non-Clone)
ID: 177_159
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback)
    public void createJob(Job job, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithJobResponse(callback, request);
    }
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
Pair #2504 Negative (Non-Clone)
ID: 2323_1829
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
Name: org.apache.camel.component.aws2.ddb.ScanCommand.execute()
    public void execute() {
        ScanRequest.Builder scan = ScanRequest.builder()
                .tableName(determineTableName())
                .limit(determineLimit())
                .exclusiveStartKey(determineExclusiveStartKey())
                .attributesToGet(determineAttributeNames())
                .scanFilter(determineScanFilter());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            scan.indexName(indexName);
        }

        if (hasFilterExpression()) {
            scan.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            scan.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            scan.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            scan.projectionExpression(determineProjectExpression());
        }

        ScanResponse result = ddbClient.scan(scan.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        tmp.put(Ddb2Constants.SCANNED_COUNT, result.scannedCount());
        addToResults(tmp);
    }
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #2505 Negative (Non-Clone)
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #2506 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 3164_2423
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEnricher.java
Name: org.apache.camel.management.mbean.ManagedEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2507 Negative (Non-Clone)
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
Pair #2508 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
Pair #2509 Negative (Non-Clone)
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
Pair #2510 Negative (Non-Clone)
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
ID: 2645_2296
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(boolean autoRelease)
    public Exchange create(boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(null, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #2511 Negative (Non-Clone)
ID: 2178_1714
ClassID: 2178
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/ManagementHttpServer.java
Name: org.apache.camel.component.platform.http.main.ManagementHttpServer.extractState(int status)
            private String extractState(int status) {
                if (status <= 4) {
                    return "Starting";
                } else if (status == 5) {
                    return "Running";
                } else if (status == 6) {
                    return "Suspending";
                } else if (status == 7) {
                    return "Suspended";
                } else if (status == 8) {
                    return "Terminating";
                } else if (status == 9) {
                    return "Terminated";
                } else {
                    return "Terminated";
                }
            }
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #2512 Negative (Non-Clone)
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 2522_2085
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.AmqpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerUrl": ((AMQPComponent) component).setBrokerUrl((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((AMQPComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((AMQPComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((AMQPComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((AMQPComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "host": ((AMQPComponent) component).setHost((java.lang.String) value); return true;
            case "includeAmqpAnnotations": ((AMQPComponent) component).setIncludeAmqpAnnotations((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((AMQPComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "keyStoreLocation": ((AMQPComponent) component).setKeyStoreLocation((java.lang.String) value); return true;
            case "keyStoreType": ((AMQPComponent) component).setKeyStoreType((java.lang.String) value); return true;
            case "port": ((AMQPComponent) component).setPort((java.lang.Integer) value); return true;
            case "replyTo": getOrCreateConfiguration((AMQPComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((AMQPComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "trustStoreLocation": ((AMQPComponent) component).setTrustStoreLocation((java.lang.String) value); return true;
            case "trustStoreType": ((AMQPComponent) component).setTrustStoreType((java.lang.String) value); return true;
            case "useSsl": ((AMQPComponent) component).setUseSsl((java.lang.Boolean) value); return true;
            case "useTopicPrefix": ((AMQPComponent) component).setUseTopicPrefix((java.lang.Boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((AMQPComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((AMQPComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((AMQPComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((AMQPComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((AMQPComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((AMQPComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((AMQPComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((AMQPComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((AMQPComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((AMQPComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((AMQPComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((AMQPComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((AMQPComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((AMQPComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((AMQPComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((AMQPComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((AMQPComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((AMQPComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((AMQPComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((AMQPComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((AMQPComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((AMQPComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((AMQPComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((AMQPComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((AMQPComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((AMQPComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((AMQPComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((AMQPComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((AMQPComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((AMQPComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((AMQPComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((AMQPComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((AMQPComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((AMQPComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((AMQPComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((AMQPComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((AMQPComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((AMQPComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((AMQPComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((AMQPComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((AMQPComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((AMQPComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((AMQPComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((AMQPComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((AMQPComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((AMQPComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((AMQPComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((AMQPComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((AMQPComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((AMQPComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((AMQPComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((AMQPComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((AMQPComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((AMQPComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((AMQPComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((AMQPComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((AMQPComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((AMQPComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((AMQPComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((AMQPComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((AMQPComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((AMQPComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((AMQPComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((AMQPComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((AMQPComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((AMQPComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((AMQPComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((AMQPComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((AMQPComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((AMQPComponent) component).setTransferExchange((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((AMQPComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((AMQPComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((AMQPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((AMQPComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "keyStorePassword": ((AMQPComponent) component).setKeyStorePassword((java.lang.String) value); return true;
            case "password": getOrCreateConfiguration((AMQPComponent) component).setPassword((java.lang.String) value); return true;
            case "trustStorePassword": ((AMQPComponent) component).setTrustStorePassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((AMQPComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((AMQPComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((AMQPComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((AMQPComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((AMQPComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((AMQPComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((AMQPComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
Pair #2513 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #2514 Negative (Non-Clone)
ID: 249_323
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/EventHubsComponent.java
Name: org.apache.camel.component.azure.eventhubs.EventHubsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        final EventHubsConfiguration configuration = this.configuration.copy();

        final EventHubsEndpoint endpoint = new EventHubsEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (isTokenCredentialSet(configuration)
                || !isProducerAsyncClientSet(configuration) && !isConnectionStringSet(configuration)) {
            checkAndSetNamespaceAndHubName(configuration, remaining);
        }

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        validateConfigurations(configuration);

        return endpoint;
    }
ID: 2597_2206
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getLong(final String key)
    public Long getLong(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
Pair #2515 Negative (Non-Clone)
ID: 3100_2375
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ResponseHeaderDefinition.java
Name: org.apache.camel.model.rest.ResponseHeaderDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
ID: 2641_2289
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.asyncSend()
    public Future<Exchange> asyncSend() {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Future<Exchange> result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().asyncSend(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultAsyncProcessor();
            result = clone.template().asyncSend(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #2516 Negative (Non-Clone)
ID: 2645_2298
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.create(Endpoint fromEndpoint, ExchangePattern exchangePattern)
    public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) {
        Exchange answer = pool.poll();
        if (answer == null) {
             
            answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) answer.getClock()).reset();
        return answer;
    }
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
Pair #2517 Negative (Non-Clone)
ID: 2051_1671
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnCommit(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #2518 Negative (Non-Clone)
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
ID: 1994_1637
ClassID: 1994
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/converter/QuickfixjConverters.java
Name: org.apache.camel.component.quickfixj.converter.QuickfixjConverters.toExchange(Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory, ExchangePattern exchangePattern)
    public static Exchange toExchange(
            Endpoint endpoint, SessionID sessionID, Message message, QuickfixjEventCategory eventCategory,
            ExchangePattern exchangePattern) {
        Exchange exchange = endpoint.createExchange(exchangePattern);

        org.apache.camel.Message camelMessage = exchange.getIn();
        camelMessage.setHeader(EVENT_CATEGORY_KEY, eventCategory);
        camelMessage.setHeader(SESSION_ID_KEY, sessionID);

        if (message != null) {
            try {
                camelMessage.setHeader(MESSAGE_TYPE_KEY, message.getHeader().getString(MsgType.FIELD));
            } catch (FieldNotFound e) {
                LOG.warn("Message type field not found in QFJ message: {}, continuing...", message);
            }
        }
        camelMessage.setBody(message);

        return exchange;
    }
Pair #2519 Negative (Non-Clone)
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 2538_2114
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadRuntimeProviderVersion(String groupId, String artifactId, String version)
    public boolean loadRuntimeProviderVersion(String groupId, String artifactId, String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String gav = String.format("%s:%s:%s", groupId, artifactId, version);
            resolve(mavenDownloader, gav, version.contains("SNAPSHOT"));

            this.runtimeProviderVersion = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load runtime provider version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
Pair #2520 Negative (Non-Clone)
ID: 2100_1697
ClassID: 2100
File: systems/camel-java/components/camel-leveldb/src/main/java/org/apache/camel/component/leveldb/LevelDBAggregationRepository.java
Name: org.apache.camel.component.leveldb.LevelDBAggregationRepository.recover(CamelContext camelContext, final String exchangeId)
    public Exchange recover(CamelContext camelContext, final String exchangeId) {
        Exchange answer = null;

        try {
            byte[] completedLDBKey = keyBuilder(getRepositoryNameCompleted(), exchangeId);

            byte[] rc = levelDBFile.getDb().get(completedLDBKey);

            if (rc != null) {
                answer = codec().unmarshallExchange(camelContext, rc);
            }
        } catch (IOException e) {
            throw new RuntimeCamelException(
                    "Error recovering exchangeId " + exchangeId + " from repository " + repositoryName, e);
        }

        LOG.debug("Recovering exchangeId [{}] -> {}", exchangeId, answer);
        return answer;
    }
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
Pair #2521 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 738_664
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/oracle/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.drop.on.stop", logMiningBufferDropOnStop);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.host", openlogreplicatorHost);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.include.redo.sql", logMiningIncludeRedoSql);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "log.mining.readonly.hostname", logMiningReadonlyHostname);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.gap.size.min", logMiningScnGapDetectionGapSizeMin);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.default.ms", logMiningSleepTimeDefaultMs);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.increment", logMiningBatchSizeIncrement);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.scn.poll.interval.ms", logMiningArchiveLogOnlyScnPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "log.mining.restart.connection", logMiningRestartConnection);
        addPropertyIfNotNull(configBuilder, "legacy.decimal.handling.strategy", legacyDecimalHandlingStrategy);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.transactions", logMiningBufferInfinispanCacheTransactions);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.schemachanges.config", logMiningBufferEhcacheSchemachangesConfig);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "log.mining.strategy", logMiningStrategy);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.out.server.name", databaseOutServerName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "archive.log.hours", archiveLogHours);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "database.pdb.name", databasePdbName);
        addPropertyIfNotNull(configBuilder, "database.connection.adapter", databaseConnectionAdapter);
        addPropertyIfNotNull(configBuilder, "log.mining.flush.table.name", logMiningFlushTableName);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.source", openlogreplicatorSource);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.type", logMiningBufferType);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "log.mining.query.filter.mode", logMiningQueryFilterMode);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.default", logMiningBatchSizeDefault);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.processedtransactions.config", logMiningBufferEhcacheProcessedtransactionsConfig);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.global.config", logMiningBufferEhcacheGlobalConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.min.ms", logMiningSleepTimeMinMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.include.list", logMiningClientidIncludeList);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "log.mining.clientid.exclude.list", logMiningClientidExcludeList);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "log.mining.username.include.list", logMiningUsernameIncludeList);
        addPropertyIfNotNull(configBuilder, "lob.enabled", lobEnabled);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "log.mining.archive.log.only.mode", logMiningArchiveLogOnlyMode);
        addPropertyIfNotNull(configBuilder, "log.mining.path.dictionary", logMiningPathDictionary);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.schema_changes", logMiningBufferInfinispanCacheSchemaChanges);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.max.ms", logMiningSleepTimeMaxMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.username.exclude.list", logMiningUsernameExcludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.transactions.config", logMiningBufferEhcacheTransactionsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.processed_transactions", logMiningBufferInfinispanCacheProcessedTransactions);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.events", logMiningBufferInfinispanCacheEvents);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "archive.destination.name", archiveDestinationName);
        addPropertyIfNotNull(configBuilder, "log.mining.scn.gap.detection.time.interval.max.ms", logMiningScnGapDetectionTimeIntervalMaxMs);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "rac.nodes", racNodes);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.infinispan.cache.global", logMiningBufferInfinispanCacheGlobal);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.transaction.events.threshold", logMiningBufferTransactionEventsThreshold);
        addPropertyIfNotNull(configBuilder, "log.mining.transaction.retention.ms", logMiningTransactionRetentionMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.database.errors.max.retries", snapshotDatabaseErrorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "openlogreplicator.port", openlogreplicatorPort);
        addPropertyIfNotNull(configBuilder, "log.mining.buffer.ehcache.events.config", logMiningBufferEhcacheEventsConfig);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.max", logMiningBatchSizeMax);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "database.url", databaseUrl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "log.mining.sleep.time.increment.ms", logMiningSleepTimeIncrementMs);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "log.mining.session.max.ms", logMiningSessionMaxMs);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "log.mining.batch.size.min", logMiningBatchSizeMin);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #2522 Negative (Non-Clone)
ID: 3218_2499
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn(
                        "Ignoring bad converter on type: {} method: {} as a converter method is not a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    Class<?> fromType = method.getParameterTypes()[0];
                    if (isStatic(modifiers)) {
                        registerTypeConverter(registry, method, toType, fromType,
                                new StaticMethodTypeConverter(method, allowNull));
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerTypeConverter(registry, method, toType, fromType,
                                new InstanceMethodTypeConverter(injector, method, registry, allowNull));
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad converter on type: {} method: {} as a converter method should have one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
ID: 2186_1717
ClassID: 2186
File: systems/camel-java/components/camel-lra/src/main/java/org/apache/camel/service/lra/LRAClient.java
Name: org.apache.camel.service.lra.LRAClient.compensate(URL lra, Exchange exchange)
    public CompletableFuture<Void> compensate(URL lra, Exchange exchange) {
        HttpRequest request = prepareRequest(URI.create(lra.toString() + COORDINATOR_PATH_CANCEL), exchange)
                .setHeader(CONTENT_TYPE, TEXT_PLAIN_CONTENT)
                .PUT(HttpRequest.BodyPublishers.ofString(""))
                .build();

        CompletableFuture<HttpResponse<String>> future = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());

        return future.thenApply(response -> {
            if (response.statusCode() != HttpURLConnection.HTTP_OK) {
                throw new RuntimeCamelException("Cannot compensate LRA");
            }

            return null;
        });
    }
Pair #2523 Negative (Non-Clone)
ID: 2557_2128
ClassID: 2557
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
Name: org.apache.camel.util.xml.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (!textBuffer.isEmpty()) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #2524 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
Pair #2525 Negative (Non-Clone)
ID: 1273_1114
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performStats(final Exchange exchange, AsyncCallback callback)
    public void performStats(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String stats = dynamicRouterControlService.getStatisticsForChannel(subscribeChannel);
            message.setBody(stats, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 174_142
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void getJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, jobUrl(jobId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, get, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2526 Negative (Non-Clone)
ID: 2571_2155
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 1573_1387
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrResponseConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrResponseConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.Map.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponseMap(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.SolrResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.QueryResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createQueryResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.SolrPingResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrPingResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2527 Negative (Non-Clone)
ID: 897_750
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #2528 Negative (Non-Clone)
ID: 3179_2457
ClassID: 3179
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderInputStream.ensureBuffering(int size)
    private int ensureBuffering(int size) throws IOException {
        if (size < bpos) {
            return bpos;
        }
         
        try {

             
            if (XMLStreamConstants.START_DOCUMENT == reader.getEventType()) {
                writer.writeStartDocument(charset, "1.0");
            }
            if (chunk.size() < buffer.length) {
                while (reader.hasNext()) {
                    int code = reader.next();
                    switch (code) {
                        case XMLStreamConstants.END_DOCUMENT:
                            writer.writeEndDocument();
                            break;
                        case XMLStreamConstants.START_ELEMENT:
                            QName qname = reader.getName();
                            writer.writeStartElement(qname.getPrefix(), qname.getLocalPart(), qname.getNamespaceURI());
                            for (int i = 0; i < reader.getAttributeCount(); i++) {
                                String namespaceUri = reader.getAttributeNamespace(i);
                                writer.writeAttribute(reader.getAttributePrefix(i), namespaceUri == null ? "" : namespaceUri,
                                        reader.getAttributeLocalName(i),
                                        reader.getAttributeValue(i));
                            }
                            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                                String namespacePrefix = reader.getNamespacePrefix(i);
                                String namespaceURI = reader.getNamespaceURI(i);
                                writer.writeNamespace(namespacePrefix == null ? "" : namespacePrefix,
                                        namespaceURI == null ? "" : namespaceURI);
                            }
                            break;
                        case XMLStreamConstants.END_ELEMENT:
                            writer.writeEndElement();
                            break;
                        case XMLStreamConstants.CHARACTERS:
                            writer.writeCharacters(reader.getText());
                            break;
                        case XMLStreamConstants.COMMENT:
                            writer.writeComment(reader.getText());
                            break;
                        case XMLStreamConstants.CDATA:
                            writer.writeCData(reader.getText());
                            break;
                        default:
                            break;
                    }

                     
                    final int csize = buffer.length - bpos;
                    if (chunk.size() > csize) {
                        System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                        bpos = buffer.length;
                        chunk.trim(csize, 0);
                        return buffer.length;
                    }
                }
            }
            final int csize = Math.min(chunk.size(), buffer.length - bpos);
            if (csize > 0) {
                System.arraycopy(chunk.getByteArray(), 0, buffer, bpos, csize);
                bpos += csize;
                chunk.trim(csize, 0);
                return bpos;
            } else {
                return bpos > 0 ? bpos : -1;
            }
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    }
ID: 2646_2300
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #2529 Negative (Non-Clone)
ID: 2634_2265
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeProcessorExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && processor != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String rid = getRouteId();
                String pid = getId();

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{} {} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{} {} ({}) usage [pooled: {}, created: {}, acquired: {} released: {}, discarded: {}]",
                            name, rid, pid, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #2530 Negative (Non-Clone)
ID: 49_62
ClassID: 49
File: systems/camel-java/components/camel-ai/camel-openai/src/main/java/org/apache/camel/component/openai/OpenAIComponent.java
Name: org.apache.camel.component.openai.OpenAIComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpenAIConfiguration configuration = new OpenAIConfiguration();

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (baseUrl != null) {
            configuration.setBaseUrl(baseUrl);
        }
        if (model != null) {
            configuration.setModel(model);
        }

        OpenAIEndpoint endpoint = new OpenAIEndpoint(uri, this, configuration);
         
        endpoint.setOperation(remaining);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 189_201
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetJob(Exchange exchange, AsyncCallback callback)
    private void processGetJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        Job job = exchange.getIn().getBody(Job.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2531 Negative (Non-Clone)
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
ID: 180_165
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback)
    public void getAllJobs(String queryLocator, Map<String, List<String>> headers, JobsResponseCallback callback) {
        String url = jobUrl(null);
        if (queryLocator != null) {
            url = url + "?queryLocator=" + queryLocator;
        }
        final Request request = getRequest(HttpMethod.GET, url, headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
        });
    }
Pair #2532 Negative (Non-Clone)
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
ID: 1164_998
ClassID: 1164
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsCamelSubscriber.java
Name: org.apache.camel.component.reactive.streams.ReactiveStreamsCamelSubscriber.onComplete()
    public void onComplete() {
        LOG.info("Reactive stream '{}' completed", name);

        ReactiveStreamsConsumer consumer;
        lock.lock();
        try {
            consumer = this.consumer;
            this.subscription = null;
        } finally {
            lock.unlock();
        }

        if (consumer != null) {
            consumer.onComplete();
        }
    }
Pair #2533 Negative (Non-Clone)
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
Pair #2534 Negative (Non-Clone)
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
Pair #2535 Negative (Non-Clone)
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #2536 Negative (Non-Clone)
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #2537 Negative (Non-Clone)
ID: 876_724
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        maxpos = 0;
        for (Class<?> cl : models) {
            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}",
                                cl.getName(), dataField.pos(), dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    int pos = dataField.pos();
                    if (annotatedFields.containsKey(pos)) {
                        Field f = annotatedFields.get(pos);
                        LOG.warn("Potentially invalid model: existing @DataField '{}' replaced by '{}'", f.getName(),
                                field.getName());
                    }
                    dataFields.put(pos, dataField);
                    annotatedFields.put(pos, field);
                    maxpos = Math.max(maxpos, pos);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }
            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }
        }

        if (annotatedFields.size() < maxpos) {
            LOG.debug("Potentially incomplete model: some csv fields may not be mapped to @DataField members");
        }
    }
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #2538 Negative (Non-Clone)
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
ID: 2646_2302
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #2539 Negative (Non-Clone)
ID: 684_619
ClassID: 684
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/AbstractMicrometerProducer.java
Name: org.apache.camel.component.micrometer.AbstractMicrometerProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #2540 Negative (Non-Clone)
ID: 3269_2638
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.afterRouteSynchronizations(Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log)
    public static void afterRouteSynchronizations(
            Route route, Exchange exchange, List<Synchronization> synchronizations, Logger log) {
         
        final List<Synchronization> copy = safeCopy(synchronizations);

         
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onAfterRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onAfterRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onAfterRoute. This exception will be ignored.", e);
                }
            }
        }
    }
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #2541 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2097_1693
ClassID: 2097
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUploadComplete(String host, String file)
    public void onUploadComplete(String host, String file) {
        String msg = "Uploading to host: " + host + " file: " + file + " completed";
        if (transferredBytes > 0) {
            msg += " (size: " + StringHelper.humanReadableBytes(transferredBytes) + ")";
        }
        long taken = watch.taken();
        String time = TimeUtils.printDuration(taken, true);
        msg += " (took: " + time + ")";
        doLog(msg);
    }
Pair #2542 Negative (Non-Clone)
ID: 2534_2112
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadClass(String name, ClassLoader loader)
    protected Class<?> loadClass(String name, ClassLoader loader) {
        Class<?> answer = null;
        try {
            answer = ObjectHelper.loadClass(name, loader);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(name, ".", name);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && name.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = ObjectHelper.loadClass(name, loader);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2543 Negative (Non-Clone)
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
Pair #2544 Negative (Non-Clone)
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
Pair #2545 Negative (Non-Clone)
ID: 1313_1205
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doCreateOrUpdateReplicationController(Exchange exchange, String operationName, Function<Resource<ReplicationController>, ReplicationController> operation)
    private void doCreateOrUpdateReplicationController(
            Exchange exchange, String operationName,
            Function<Resource<ReplicationController>, ReplicationController> operation) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerSpec rcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC, ReplicationControllerSpec.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("{} a specific replication controller require specify a replication controller name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific replication controller require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(rcSpec)) {
            LOG.error("{} a specific replication controller require specify a replication controller spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationController rcCreating = new ReplicationControllerBuilder().withNewMetadata().withName(rcName)
                .withLabels(labels).endMetadata().withSpec(rcSpec).build();
        ReplicationController rc
                = operation.apply(getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                        .resource(rcCreating));

        prepareOutboundMessage(exchange, rc);
    }
ID: 454_486
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.createFileSharedLink(String fileId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFileSharedLink(
            String fileId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for file(id={}) with access={} {}",
                    fileId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(access, "access");

            BoxFile file = new BoxFile(boxConnection, fileId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return file.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #2546 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #2547 Negative (Non-Clone)
ID: 103_87
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePolicy(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePolicy(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String policyId = exchange.getIn().getHeader(KeycloakConstants.POLICY_ID, String.class);
        if (ObjectHelper.isEmpty(policyId)) {
            throw new IllegalArgumentException("Policy ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(policyId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Policy updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update policy requires POJO request with PolicyRepresentation");
        }
    }
ID: 1131_969
ClassID: 1131
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.getConsumer(String key, boolean block, long timeout)
    protected DirectConsumer getConsumer(String key, boolean block, long timeout) throws InterruptedException {
        consumersLock.lock();
        try {
            DirectConsumer answer = consumers.get(key);
            if (answer == null && block) {
                StopWatch watch = new StopWatch();
                for (;;) {
                    answer = consumers.get(key);
                    if (answer != null) {
                        break;
                    }
                    long rem = timeout - watch.taken();
                    if (rem <= 0) {
                        break;
                    }
                    consumersCondition.await(rem, TimeUnit.MILLISECONDS);
                }
            }
            return answer;
        } finally {
            consumersLock.unlock();
        }
    }
Pair #2548 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 3109_2395
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
Name: org.apache.camel.model.TemplatedRoutesDefinition.createTemplatedRouteDefinition(String id)
    protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
        TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
        if (id != null) {
            templatedRoute.setRouteTemplateRef(id);
        }
        if (resource != null) {
            templatedRoute.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
        return templatedRoute;
    }
Pair #2549 Negative (Non-Clone)
ID: 349_401
ClassID: 349
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/AbstractServiceNowProcessor.java
Name: org.apache.camel.component.servicenow.AbstractServiceNowProcessor.getRequestModel(Message message, String modelName)
    protected Class<?> getRequestModel(Message message, String modelName) {
        Class<?> model = null;

        if (message != null) {
            model = message.getHeader(ServiceNowConstants.REQUEST_MODEL, Class.class);
            if (model == null) {
                model = message.getHeader(ServiceNowConstants.MODEL, Class.class);
            }
        }

        return model != null
                ? model
                : ObjectHelper.isEmpty(modelName) ? Map.class : config.getRequestModel(modelName, Map.class);
    }
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
Pair #2550 Negative (Non-Clone)
ID: 1232_1057
ClassID: 1232
File: systems/camel-java/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssComponent.java
Name: org.apache.camel.component.rss.RssComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        RssEndpoint rss = (RssEndpoint) endpoint;
        if (rss.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            Map<String, Object> options = new LinkedHashMap<>(parameters);
            String query = URISupport.createQueryString(options);
            feedUri = remaining + "?" + query;
        } else {
            feedUri = remaining;
        }

        rss.setFeedUri(feedUri);
    }
ID: 1282_1127
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteEdge()
    private Function<Exchange, Object> deleteEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                edgeCollection.deleteEdge(singleKey);
                return true;
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2551 Negative (Non-Clone)
ID: 2188_1722
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.transferImage(Exchange exchange)
    private void transferImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);

        if (ObjectHelper.isEmpty(imageId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.ID + " must be specified");
        }

        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().transferImage(imageId, region);
        LOG.trace("Transfer  Image {} to Region {} [{}] ", imageId, region, action);
        exchange.getMessage().setBody(action);
    }
ID: 1039_898
ClassID: 1039
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {

        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);

        String scheme = "http";
        String host = "";
        int port = 0;

         
        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");
        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties("netty-http", config);

         
        boolean cors = config.isEnableCORS();

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, cors);

        String url = RestComponentHelper.createRestConsumerUrl("netty-http", scheme, host, port, path, map);

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }

        return consumer;
    }
Pair #2552 Negative (Non-Clone)
ID: 188_191
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetFailedResults(Exchange exchange, AsyncCallback callback)
    private void processGetFailedResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getFailedResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 2585_2185
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.evaluateTemplate(final String templateName, final MainModel model)
    private static String evaluateTemplate(final String templateName, final MainModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (MainModel.MainGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
Pair #2553 Negative (Non-Clone)
ID: 2656_2324
ClassID: 2656
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/saga/NeverSagaProcessor.java
Name: org.apache.camel.processor.saga.NeverSagaProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        getCurrentSagaCoordinator(exchange).whenComplete((coordinator, ex) -> ifNotException(ex, exchange, callback, () -> {
            if (coordinator != null) {
                exchange.setException(
                        new CamelExchangeException("Route cannot handle exchanges that are joining a saga", exchange));
                callback.done(false);
            } else {
                super.process(exchange, doneSync -> callback.done(false));
            }
        }));
        return false;
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #2554 Negative (Non-Clone)
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
Pair #2555 Negative (Non-Clone)
ID: 640_572
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Put.java
Name: org.apache.camel.component.dhis2.api.Dhis2Put.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PutOperation putOperation = dhis2Client.put(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        putOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    putOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            putOperation.withResource(resource);
        }

        return putOperation.transfer().read();
    }
ID: 1857_1518
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in AWS Secrets Manager: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #2556 Negative (Non-Clone)
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 2380_1871
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(String[] array1, String[] array2)
    public static String[] concat(String[] array1, String[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        String[] array = new String[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
Pair #2557 Negative (Non-Clone)
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2558 Negative (Non-Clone)
ID: 1887_1557
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
Pair #2559 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #2560 Negative (Non-Clone)
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2561 Negative (Non-Clone)
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
Pair #2562 Negative (Non-Clone)
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #2563 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1807_1476
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executePullImageRequest(DockerClient client, Message message)
    private PullImageCmd executePullImageRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Pull Image Request");

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        ObjectHelper.notNull(repository, "Repository must be specified");

        PullImageCmd pullImageCmd = client.pullImageCmd(repository);

        String registry = DockerHelper.getProperty(DockerConstants.DOCKER_REGISTRY, configuration, message, String.class);
        if (registry != null) {
            pullImageCmd.withRegistry(registry);
        }

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);
        if (tag != null) {
            pullImageCmd.withTag(tag);
        }

        AuthConfig authConfig = client.authConfig();

        if (authConfig != null) {
            pullImageCmd.withAuthConfig(authConfig);
        }

        return pullImageCmd;

    }
Pair #2564 Negative (Non-Clone)
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #2565 Negative (Non-Clone)
ID: 3223_2510
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);

        if (operator == UnaryOperatorType.INC) {
            return createIncExpression(camelContext, leftExp);
        } else if (operator == UnaryOperatorType.DEC) {
            return createDecExpression(camelContext, leftExp);
        }

        throw new SimpleParserException("Unknown unary operator " + operator, token.getIndex());
    }
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2566 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 998_851
ClassID: 998
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         
        if (remaining.startsWith("DEFAULT/")) {
            remaining = remaining.substring(8);
        }
        final String[] pathSegments = remaining.split("/", -1);
        final String methodName = pathSegments[0];

        if (pathSegments.length > 1) {
            final StringBuilder resourcePath = new StringBuilder();
            for (int i = 1; i < pathSegments.length; i++) {
                resourcePath.append(pathSegments[i]);
                if (i < (pathSegments.length - 1)) {
                    resourcePath.append('/');
                }
            }
             
            parameters.put(Olingo2Endpoint.RESOURCE_PATH_PROPERTY, resourcePath.toString());
        }

        final Olingo2Configuration endpointConfiguration = createEndpointConfiguration(Olingo2ApiName.DEFAULT);
        final Endpoint endpoint = createEndpoint(uri, methodName, Olingo2ApiName.DEFAULT, endpointConfiguration);

         
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #2567 Negative (Non-Clone)
ID: 2644_2294
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findClass(String key)
    public Optional<Class<?>> findClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, true).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #2568 Negative (Non-Clone)
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 3234_2553
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createExpression(String expression)
    public Expression createExpression(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledExpressions.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compileExpression(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for expression: " + expression, expression);
        });
    }
Pair #2569 Negative (Non-Clone)
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
ID: 2302_1824
ClassID: 2302
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/KinesisConnection.java
Name: org.apache.camel.component.aws2.kinesis.KinesisConnection.getClient(final Kinesis2Endpoint endpoint)
    public KinesisClient getClient(final Kinesis2Endpoint endpoint) {
        lock.lock();
        try {
            if (Objects.isNull(kinesisClient)) {
                kinesisClient = endpoint.getConfiguration().getAmazonKinesisClient() != null
                        ? endpoint.getConfiguration().getAmazonKinesisClient()
                        : KinesisClientFactory.getKinesisClient(endpoint.getConfiguration());
            }
            return kinesisClient;
        } finally {
            lock.unlock();
        }
    }
Pair #2570 Negative (Non-Clone)
ID: 2648_2305
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onComponentAdd(String name, Component component)
    public void onComponentAdd(String name, Component component) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<ComponentCustomizer.Policy> filters = registry.findByType(ComponentCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, component))) {
            registry.findByType(ComponentCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, component))
                    .forEach(customizer -> customizer.configure(name, component));
        }
    }
ID: 2589_2193
ClassID: 2589
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
Name: org.apache.camel.maven.packaging.ModelXmlParserGeneratorMojo.findMethodsForClass(Class<?> c)
    private Stream<? extends Member> findMethodsForClass(Class<?> c) {
        XmlAccessType accessType;
        if (c.getAnnotation(XmlAccessorType.class) != null && c != outputDefinitionClass) {
            accessType = c.getAnnotation(XmlAccessorType.class).value();
        } else {
            accessType = XmlAccessType.PUBLIC_MEMBER;
        }
        if (accessType == XmlAccessType.FIELD || accessType == XmlAccessType.NONE) {
            return Stream.of(c.getDeclaredMethods()).filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlAttribute.class) != null || m.getAnnotation(XmlElement.class) != null
                            || m.getAnnotation(XmlElementRef.class) != null
                            || m.getAnnotation(XmlValue.class) != null)
                    .sorted(Comparator.comparing(Method::getName));
        } else {
            return Stream.of(c.getDeclaredMethods())
                    .filter(m -> Modifier.isPublic(m.getModifiers()) || accessType == XmlAccessType.PROPERTY)
                    .filter(m -> m.getName().startsWith("set") && m.getParameterCount() == 1)
                    .filter(m -> m.getAnnotation(XmlTransient.class) == null)
                    .sorted(Comparator.comparing(Method::getName));
        }
    }
Pair #2571 Negative (Non-Clone)
ID: 3220_2504
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServiceHostPropertiesFunction.java
Name: org.apache.camel.component.properties.ServiceHostPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            if (host != null) {
                return host;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2572 Negative (Non-Clone)
ID: 1255_1101
ClassID: 1255
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(DefaultErrorHandlerDefinition definition, CamelContext camelContext) {
        if (definition.hasRedeliveryPolicy() && definition.getRedeliveryPolicyRef() != null) {
            throw new IllegalArgumentException(
                    "Cannot have both redeliveryPolicy and redeliveryPolicyRef set at the same time.");
        }

        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : null;
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #2573 Negative (Non-Clone)
ID: 2584_2183
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!mainJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "main.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(mainJsonFile);
            MainModel model = JsonMapper.generateMainModel(json);
            String options = evaluateTemplate("main-options.mvel", model);
            updated = updateOptionsIn(file, "main", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing main docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No main doc file: " + file);
        }
    }
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
Pair #2574 Negative (Non-Clone)
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
ID: 640_570
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Post.java
Name: org.apache.camel.component.dhis2.api.Dhis2Post.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PostOperation postOperation = dhis2Client.post(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        postOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    postOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            postOperation.withResource(resource);
        }

        return postOperation.transfer().read();

    }
Pair #2575 Negative (Non-Clone)
ID: 2272_1795
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.nativeQuery(final String nativeQuery)
    public static QueryBuilder nativeQuery(final String nativeQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNativeQuery(nativeQuery);
            }

            @Override
            public String toString() {
                return "NativeQuery: " + nativeQuery + getParameterDescription();
            }
        };
    }
ID: 1147_986
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/OpenTelemetryComponent.java
Name: org.apache.camel.opentelemetry.metrics.OpenTelemetryComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
             
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
Pair #2576 Negative (Non-Clone)
ID: 2526_2095
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderDataFormatResolver.createDataFormat(String name, CamelContext context)
    public DataFormat createDataFormat(String name, CamelContext context) {
        DataFormatModel model = catalog.dataFormatModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        DataFormat answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.createDataFormat(name, context);
        } else {
            answer = new StubDataFormat();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find dataformat with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #2577 Negative (Non-Clone)
ID: 342_396
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newBuilder() {
        final Properties producerProperties = KafkaResumeStrategyConfigurationBuilder.createProducerProperties();
        final Properties consumerProperties = KafkaResumeStrategyConfigurationBuilder.createConsumerProperties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);
        builder.withCacheFillPolicy(Cacheable.FillPolicy.MAXIMIZING);

        return builder;
    }
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
Pair #2578 Negative (Non-Clone)
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #2579 Negative (Non-Clone)
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 1273_1114
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performStats(final Exchange exchange, AsyncCallback callback)
    public void performStats(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String stats = dynamicRouterControlService.getStatisticsForChannel(subscribeChannel);
            message.setBody(stats, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
Pair #2580 Negative (Non-Clone)
ID: 1887_1557
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
ID: 680_607
ClassID: 680
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MicrometerRoutePolicy answer = new MicrometerRoutePolicy(this);
        answer.setMeterRegistry(getMeterRegistry());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setSkipCamelInfo(isSkipCamelInfo());
        answer.setDurationUnit(getDurationUnit());
        answer.setNamingStrategy(getNamingStrategy());
        answer.setConfiguration(getPolicyConfiguration());
        return answer;
    }
Pair #2581 Negative (Non-Clone)
ID: 201_230
ClassID: 201
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqExpression.java
Name: org.apache.camel.language.jq.JqExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
ID: 3282_2674
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createPredicate(String expression, Object[] properties)
    public Predicate createPredicate(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        return createPredicate(input, expression, properties);
    }
Pair #2582 Negative (Non-Clone)
ID: 765_690
ClassID: 765
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java
Name: org.apache.camel.component.springai.chat.SpringAiChatProducer.getUserMessageText(Exchange exchange)
    private String getUserMessageText(Exchange exchange) {
        String userMessageText = exchange.getIn().getHeader(SpringAiChatConstants.USER_MESSAGE, String.class);
        if (userMessageText == null) {
            userMessageText = getEndpoint().getConfiguration().getUserMessage();
        }
        if (userMessageText == null) {
            userMessageText = "";  
        }
        return userMessageText;
    }
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #2583 Negative (Non-Clone)
ID: 255_328
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
    private Queue<Exchange> createBatchExchangesFromContainer(final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobContainerClientWrapper containerClientWrapper = new BlobContainerClientWrapper(blobContainerClient);
        final BlobContainerOperations containerOperations
                = new BlobContainerOperations(getEndpoint().getConfiguration(), containerClientWrapper);

        final List<BlobItem> blobs = (List<BlobItem>) containerOperations.listBlobs(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (BlobItem blobItem : blobs) {
            exchanges.add(createExchangeFromBlob(blobItem.getName(), blobContainerClient));
        }
        return exchanges;
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #2584 Negative (Non-Clone)
ID: 180_167
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithJobResponse(JobResponseCallback callback, Request request)
    private void doHttpRequestWithJobResponse(JobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
        });
    }
ID: 1006_867
ClassID: 1006
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #2585 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 3203_2466
ClassID: 3203
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.withConfigurations(String configurations)
    public MainConfigurationProperties withConfigurations(String configurations) {
        if (this.configurationClasses == null) {
            this.configurationClasses = "";
        }
        if (this.configurationClasses.isEmpty()) {
            this.configurationClasses = configurations;
        } else {
            this.configurationClasses = "," + configurations;
        }
        return this;
    }
Pair #2586 Negative (Non-Clone)
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #2587 Negative (Non-Clone)
ID: 2447_1931
ClassID: 2447
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.onlineRelease(RuntimeType runtime, String coreVersion)
    private ReleaseModel onlineRelease(RuntimeType runtime, String coreVersion) throws Exception {
        String gitUrl = String.format(RuntimeType.quarkus == runtime ? GIT_CAMEL_QUARKUS_URL : GIT_CAMEL_URL, coreVersion);

        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(gitUrl)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ReleaseModel model = new ReleaseModel();
            LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
            String line = lr.readLine();
            while (line != null) {
                if (line.startsWith("date:")) {
                    model.setDate(line.substring(5).trim());
                } else if (line.startsWith("version:")) {
                    model.setVersion(line.substring(8).trim());
                } else if (line.startsWith("eol:")) {
                    model.setEol(line.substring(4).trim());
                } else if (line.startsWith("kind:")) {
                    model.setKind(line.substring(5).trim());
                } else if (line.startsWith("jdk:")) {
                    String s = line.substring(4).trim();
                    if (s.startsWith("[") && s.endsWith("]")) {
                        s = s.substring(1, s.length() - 1);
                    }
                    model.setJdk(s);
                }
                line = lr.readLine();
            }
            if (model.getVersion() != null) {
                return model;
            }
        }

        return null;
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #2588 Negative (Non-Clone)
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
Pair #2589 Negative (Non-Clone)
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2590 Negative (Non-Clone)
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 3225_2516
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeExchangeProperty(final String function)
    private String createCodeExchangeProperty(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("exchangePropertyAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${exchangePropertyAsIndex(key, type, index).OGNL} was: " + function,
                            token.getIndex());
                }
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "exchangePropertyAsIndex(exchange, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("exchangePropertyAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "exchangePropertyAs(exchange, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        remainder = ifStartsWithReturnRemainder("exchangeProperty", function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException(
                        "Valid syntax: ${exchangeProperty.name[key]} was: " + function, token.getIndex());
            }

             
            String index = null;
            if (key.endsWith("]")) {
                index = StringHelper.between(key, "[", "]");
                if (index != null) {
                    key = StringHelper.before(key, "[");
                }
            }
            if (index != null) {
                index = StringHelper.removeLeadingAndEndingQuotes(index);
                return "exchangePropertyAsIndex(exchange, Object.class, \"" + key + "\", \"" + index + "\")";
            } else if (OgnlHelper.isValidOgnlExpression(remainder)) {
                 
                throw new SimpleParserException(
                        "Valid syntax: ${exchangePropertyAs(key, type)} was: " + function, token.getIndex());
            } else {
                 
                return "exchangeProperty(exchange, \"" + key + "\")";
            }
        }

        return null;
    }
Pair #2591 Negative (Non-Clone)
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #2592 Negative (Non-Clone)
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 188_198
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.deleteJob(Exchange exchange, AsyncCallback callback)
    private void deleteJob(Exchange exchange, AsyncCallback callback) throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.deleteJob(jobId, determineHeaders(exchange),
                new ResponseCallback() {
                    @Override
                    public void onResponse(Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, null, headers, ex, callback);
                    }
                });
    }
Pair #2593 Negative (Non-Clone)
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
Pair #2594 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 1218_1053
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleInvoices(Exchange exchange, String method)
    private Object handleInvoices(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Invoice.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Invoice.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String invoiceId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Invoice invoice = Invoice.retrieve(invoiceId);
                return invoice.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Invoice.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for invoices: " + method);
        }
    }
Pair #2595 Negative (Non-Clone)
ID: 1308_1163
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.run()
        public void run() {
            FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>> client
                        = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<ReplicationController, ReplicationControllerList, RollableScalableResource<ReplicationController>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, ReplicationController resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #2596 Negative (Non-Clone)
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
Pair #2597 Negative (Non-Clone)
ID: 445_476
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processAsynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        consumer.getAsyncProcessor().process(exchange, doneSync -> {
             
            try {
                if (consumer.getConfiguration().isSync()) {
                    sendResponse(ctx, exchange);
                }
            } catch (Exception e) {
                consumer.getExceptionHandler().handleException(e);
            } finally {
                consumer.doneUoW(exchange);
                consumer.releaseExchange(exchange, false);
            }
        });
    }
ID: 681_611
ClassID: 681
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/ContextMetricsStatistics.java
Name: org.apache.camel.component.micrometer.routepolicy.ContextMetricsStatistics.onExchangeBegin(Exchange exchange)
    public void onExchangeBegin(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeBegin(exchange);
            }
        } else {
            super.onExchangeBegin(exchange);
        }
    }
Pair #2598 Negative (Non-Clone)
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 2657_2326
ClassID: 2657
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetBodyProcessor.java
Name: org.apache.camel.processor.SetBodyProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newBody = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

             
             
            boolean copyNeeded = !(old.getClass().equals(DefaultMessage.class));

            if (copyNeeded) {
                Message msg = new DefaultMessage(exchange.getContext());
                msg.copyFromWithNewBody(old, newBody);

                 
                ExchangeHelper.replaceMessage(exchange, msg, false);
            } else {
                 
                old.setBody(newBody);
            }

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #2599 Negative (Non-Clone)
ID: 26_41
ClassID: 26
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
Pair #2600 Negative (Non-Clone)
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
Pair #2601 Negative (Non-Clone)
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 3170_2437
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageBody(Integer index)
    public String browseMessageBody(Integer index) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.extractBodyAsString(msg);
    }
Pair #2602 Negative (Non-Clone)
ID: 1779_1460
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkAfterSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkAfterSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetAfterSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND, false, boolean.class);
        if (resetAfterSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_AFTER_SEND), "resetting");
            doConnectionClose(socket, true, log);
            answer = false;
        } else {
            final boolean closeAfterSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND, false, boolean.class);
            if (closeAfterSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_AFTER_SEND), "closing");
                doConnectionClose(socket, false, log);
                answer = false;
            }
        }

        return answer;
    }
ID: 644_573
ClassID: 644
File: systems/camel-java/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/WhatsAppWebhookProcessor.java
Name: org.apache.camel.component.whatsapp.WhatsAppWebhookProcessor.parseQueryParam(Exchange exchange)
    private Map<String, String> parseQueryParam(Exchange exchange) {
        Map<String, String> queryParams = new HashMap<>();

        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            String[] pairs = exchange.getIn().getHeader(Exchange.HTTP_QUERY).toString().split("&");
            for (String pair : pairs) {
                String[] keyValuePair = pair.split("=");

                queryParams.put(keyValuePair[0], keyValuePair[1]);
            }
        }

        return queryParams;
    }
Pair #2603 Negative (Non-Clone)
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #2604 Negative (Non-Clone)
ID: 2543_2120
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getDataFormatJSonSchema(String name)
    public String getDataFormatJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getDataFormatJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String schema = extraDataFormatsJSonSchema.get(name);
        if (schema != null) {
            return schema;
        }

         
        final String className = extraDataFormats.get(name);
        return loadFromClasspath(className, name);
    }
ID: 1720_1436
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
Pair #2605 Negative (Non-Clone)
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
Pair #2606 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #2607 Negative (Non-Clone)
ID: 3228_2524
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.replaceExpression(final String expression, final String from, final String to)
    public static Expression replaceExpression(final String expression, final String from, final String to) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.replaceAll(exp, from, to);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "replace(" + expression + "," + from + "," + to + ")";
            }
        };
    }
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
Pair #2608 Negative (Non-Clone)
ID: 2476_2019
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("endpoints");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("endpoints");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.endpoint = o.getString("uri");
                                row.stub = o.getBooleanOrDefault("stub", false);
                                row.remote = o.getBooleanOrDefault("remote", true);
                                row.direction = o.getString("direction");
                                row.total = o.getString("hits");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filterTotal > 0 && (row.total == null || Long.parseLong(row.total) < filterTotal)) {
                                    add = false;
                                }
                                if (filterDirection != null && !filterDirection.equals(row.direction)) {
                                    add = false;
                                }
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.endpoint, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 970_811
ClassID: 970
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/component/sql/DefaultSqlEndpoint.java
Name: org.apache.camel.component.sql.DefaultSqlEndpoint.doStart()
    protected void doStart() throws Exception {
        if (isServiceLocationEnabled()) {
             
            BeanIntrospection bi = PluginHelper.getBeanIntrospection(getCamelContext());
            DataSource ds = getDataSource();
             
            if (ds != null && ds.getClass().getName().endsWith("ClientProxy")) {
                DataSource actual = UnwrapHelper.unwrapClientProxy(ds);
                if (actual != null) {
                    ds = actual;
                }
            }
            serviceUrl = SqlServiceLocationHelper.getJDBCURLFromDataSource(bi, ds);

            serviceMetadata = new HashMap<>();
            String user = SqlServiceLocationHelper.getUsernameFromConnectionFactory(bi, ds);
            if (user != null) {
                serviceMetadata.put("username", user);
            }
        }
    }
Pair #2609 Negative (Non-Clone)
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
ID: 878_729
ClassID: 878
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.LocalDateTimePatternFormat(String pattern, String timezone, Locale locale)
        LocalDateTimePatternFormat(String pattern, String timezone, Locale locale) {
            this.pattern = pattern;
            this.locale = locale;
            if (timezone.isEmpty()) {
                this.zone = ZoneId.systemDefault();
            } else {
                this.zone = ZoneId.of(timezone);
            }
        }
Pair #2610 Negative (Non-Clone)
ID: 1204_1032
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doGetState(Exchange exchange, AsyncCallback callback)
    private void doGetState(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .getPresenceState()
                .channels(List.of(getChannel(exchange)))
                .uuid(getUUID(exchange))
                .async((Result<PNGetStateResult> result) -> {
                    LOG.debug("Got state [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNGetStateResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 254_325
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.poll()
    protected int poll() throws Exception {
        final String fileSystemName = getEndpoint().getConfiguration().getFileSystemName();
        final String fileName = getEndpoint().getConfiguration().getFileName();
        final DataLakeFileSystemClient dataLakeFileSystemClient
                = getEndpoint().getDataLakeServiceClient().getFileSystemClient(fileSystemName);
        int result;

        try {
            Queue<Exchange> exchanges;
            if (ObjectHelper.isNotEmpty(fileName)) {
                final Exchange exchange = createExchangeFromFile(fileName, dataLakeFileSystemClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                exchanges = createBatchExchangesFromPath(dataLakeFileSystemClient);
            }
            result = processBatch(CastUtils.cast(exchanges));
        } catch (DataLakeStorageException e) {
            if (NOT_FOUND == e.getStatusCode()) {
                result = 0;
            } else {
                throw e;
            }
        }
        return result;
    }
Pair #2611 Negative (Non-Clone)
ID: 1213_1034
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 3167_2431
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        this.sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
Pair #2612 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #2613 Negative (Non-Clone)
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
Pair #2614 Negative (Non-Clone)
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2615 Negative (Non-Clone)
ID: 1477_1315
ClassID: 1477
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #2616 Negative (Non-Clone)
ID: 2566_2144
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.updateSensitiveHelperKeys(File camelDir, Set<String> secrets)
    private boolean updateSensitiveHelperKeys(File camelDir, Set<String> secrets) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/SensitiveUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : secrets) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #2617 Negative (Non-Clone)
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #2618 Negative (Non-Clone)
ID: 2529_2102
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderLanguageResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

         
        if (Arrays.asList(ACCEPTED_STUB_NAMES).contains(name)) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("language:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
            }
        }
        return !stubbed;
    }
ID: 1573_1387
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrResponseConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrResponseConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.util.Map.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponseMap(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.SolrResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.QueryResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createQueryResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.response.SolrPingResponse.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrResponseConverter.createSolrPingResponse(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2619 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1886_1555
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration)
    protected void configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                        type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
                LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                        codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
            }
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #2620 Negative (Non-Clone)
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #2621 Negative (Non-Clone)
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #2622 Negative (Non-Clone)
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
Pair #2623 Negative (Non-Clone)
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 1011_877
ClassID: 1011
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Producer.java
Name: org.apache.camel.component.olingo2.Olingo2Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo2Constants.RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }

        return false;
    }
Pair #2624 Negative (Non-Clone)
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #2625 Negative (Non-Clone)
ID: 2640_2285
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withExchangeProperty(String key, Object value)
    public FluentProducerTemplate withExchangeProperty(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException(
                    "Cannot use both withExchangeProperty and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.exchangeProperties;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.exchangeProperties = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
Pair #2626 Negative (Non-Clone)
ID: 2229_1745
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doAdd(Exchange exchange, String operation)
    protected void doAdd(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.add().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2627 Negative (Non-Clone)
ID: 1977_1618
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.ZooQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #2628 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
Pair #2629 Negative (Non-Clone)
ID: 3292_2695
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextServerParameters[clientAuthentication=");
        builder.append(clientAuthentication);
        builder.append(", getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
ID: 1240_1065
ClassID: 1240
File: systems/camel-java/components/camel-http-common/src/generated/java/org/apache/camel/http/common/HttpConverterLoader.java
Name: org.apache.camel.http.common.HttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, jakarta.servlet.ServletInputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletInputStream((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletRequest.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletRequest((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, jakarta.servlet.http.HttpServletResponse.class, org.apache.camel.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toServletResponse((org.apache.camel.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.BufferedReader.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toReader((org.apache.camel.http.common.HttpMessage) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.servlet.http.HttpServletRequest.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((jakarta.servlet.http.HttpServletRequest) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.http.common.HttpMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.http.common.HttpConverter.toInputStream((org.apache.camel.http.common.HttpMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2630 Negative (Non-Clone)
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
ID: 2244_1766
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
Pair #2631 Negative (Non-Clone)
ID: 1779_1459
ClassID: 1779
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
Name: org.apache.camel.component.mllp.MllpEndpoint.checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log)
    public boolean checkBeforeSendProperties(Exchange exchange, Socket socket, Logger log) {
        final String logMessageFormat = "Exchange property {} = {} - {} connection";
        boolean answer = true;

        final boolean resetBeforeSend
                = exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND, false, boolean.class);
        if (resetBeforeSend) {
            log.warn(logMessageFormat, MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND,
                    exchange.getProperty(MllpConstants.MLLP_RESET_CONNECTION_BEFORE_SEND), "resetting");
            doConnectionClose(socket, true, null);
            answer = false;
        } else {
            final boolean closeBeforeSend
                    = exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND, false, boolean.class);
            if (closeBeforeSend) {
                log.warn(logMessageFormat, MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND,
                        exchange.getProperty(MllpConstants.MLLP_CLOSE_CONNECTION_BEFORE_SEND), "closing");
                doConnectionClose(socket, false, null);
                answer = false;
            }
        }

        return answer;
    }
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2632 Negative (Non-Clone)
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #2633 Negative (Non-Clone)
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
Pair #2634 Negative (Non-Clone)
ID: 1232_1057
ClassID: 1232
File: systems/camel-java/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssComponent.java
Name: org.apache.camel.component.rss.RssComponent.afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
    protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters)
            throws Exception {
        RssEndpoint rss = (RssEndpoint) endpoint;
        if (rss.getFeedUri() != null) {
             
            return;
        }

         
         
        String feedUri;
        if (!parameters.isEmpty()) {
            Map<String, Object> options = new LinkedHashMap<>(parameters);
            String query = URISupport.createQueryString(options);
            feedUri = remaining + "?" + query;
        } else {
            feedUri = remaining;
        }

        rss.setFeedUri(feedUri);
    }
ID: 3307_2718
ClassID: 3307
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCamelCatalog.handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums)
    private void handleNotFound(EndpointValidationResult result, String value, String name, List<String> enums) {
        result.addInvalidEnum(name, value);
        result.addInvalidEnumChoices(name, enums.toArray(new String[0]));
        if (suggestionStrategy != null) {
            Set<String> names = new LinkedHashSet<>(enums);
            String[] suggestions = suggestionStrategy.suggestEndpointOptions(names, value);
            if (suggestions != null) {
                result.addInvalidEnumSuggestions(name, suggestions);
            }
        }
    }
Pair #2635 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #2636 Negative (Non-Clone)
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #2637 Negative (Non-Clone)
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 680_608
ClassID: 680
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
Name: org.apache.camel.component.jpa.JpaEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        JpaPollingConsumer consumer = new JpaPollingConsumer(this);
        consumer.setQuery(getQuery());
        consumer.setNamedQuery(getNamedQuery());
        consumer.setNativeQuery(getNativeQuery());
        consumer.setLockModeType(getLockModeType());
        consumer.setParameters(getParameters());
        consumer.setResultClass(getResultClass());
        return consumer;
    }
Pair #2638 Negative (Non-Clone)
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
ID: 1972_1605
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.upsert(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #2639 Negative (Non-Clone)
ID: 1433_1294
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseTextPlainEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static TextPlainEntity parseTextPlainEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            String text = parseBodyPartText(inbuffer, is, boundary);
            if (contentTransferEncoding != null) {
                text = EntityUtils.decode(text, charset, contentTransferEncoding);
            }
            return new TextPlainEntity(text, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1937_1585
ClassID: 1937
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryFactory.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePattern != null) {
            String name = node.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Timer timer = metricsRegistry.timer(createName("history", routeId, node.getId()));
        return new MetricsMessageHistory(routeId, node, timer, msg);
    }
Pair #2640 Negative (Non-Clone)
ID: 3304_2714
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseProlog()
    protected int parseProlog() throws XmlPullParserException, IOException {
         
         

        char ch;
        if (seenMarkup) {
            ch = buf[pos - 1];
        } else {
            ch = more();
        }

        if (eventType == START_DOCUMENT) {
             
             
             
            if (ch == '\uFFFE') {
                throw new XmlPullParserException(
                        "first character in input was UNICODE noncharacter (0xFFFE)" + "- input requires int swapping", this,
                        null);
            }
            if (ch == '\uFEFF') {
                 
                ch = more();
            }
        }
        seenMarkup = false;
        boolean gotS = false;
        posStart = pos - 1;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        while (true) {
             
             
             
             
            if (ch == '<') {
                if (gotS && tokenize) {
                    posEnd = pos - 1;
                    seenMarkup = true;
                    return eventType = IGNORABLE_WHITESPACE;
                }
                ch = more();
                if (ch == '?') {
                     
                     
                    if (parsePI()) {  
                        if (tokenize) {
                            return eventType = PROCESSING_INSTRUCTION;
                        }
                    } else {
                         
                        posStart = pos;
                        gotS = false;
                    }

                } else if (ch == '!') {
                    ch = more();
                    if (ch == 'D') {
                        if (seenDocdecl) {
                            throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
                        }
                        seenDocdecl = true;
                        parseDocdecl();
                        if (tokenize)
                            return eventType = DOCDECL;
                    } else if (ch == '-') {
                        parseComment();
                        if (tokenize)
                            return eventType = COMMENT;
                    } else {
                        throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                    }
                } else if (ch == '/') {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                } else if (isNameStartChar(ch)) {
                    seenRoot = true;
                    return parseStartTag();
                } else {
                    throw new XmlPullParserException("expected start tag name and not " + printable(ch), this, null);
                }
            } else if (isS(ch)) {
                gotS = true;
                if (normalizeIgnorableWS) {
                    if (ch == '\r') {
                        normalizedCR = true;
                         
                         
                         
                        if (!usePC) {
                            posEnd = pos - 1;
                            if (posEnd > posStart) {
                                joinPC();
                            } else {
                                usePC = true;
                                pcStart = pcEnd = 0;
                            }
                        }
                         
                        if (pcEnd >= pc.length)
                            ensurePC(pcEnd);
                        pc[pcEnd++] = '\n';
                    } else if (ch == '\n') {
                        if (!normalizedCR && usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = '\n';
                        }
                        normalizedCR = false;
                    } else {
                        if (usePC) {
                            if (pcEnd >= pc.length)
                                ensurePC(pcEnd);
                            pc[pcEnd++] = ch;
                        }
                        normalizedCR = false;
                    }
                }
            } else {
                throw new XmlPullParserException(
                        "only whitespace content allowed before start tag and not " + printable(ch), this, null);
            }
            ch = more();
        }
    }
ID: 181_169
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
    private <T> T unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, resultClass);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
Pair #2641 Negative (Non-Clone)
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
ID: 3220_2503
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePortPropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePortPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);
            if (port != null) {
                return port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #2642 Negative (Non-Clone)
ID: 1104_933
ClassID: 1104
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSProducer.java
Name: org.apache.camel.component.huaweicloud.dms.DMSProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        ClientConfigurations clientConfigurations = new ClientConfigurations();

        if (dmsClient == null) {
            LOG.debug("Initializing SDK client");
            this.dmsClient = endpoint.initClient();
            LOG.debug("Successfully initialized SDK client");
        }

        updateClientConfigs(exchange, clientConfigurations);

        switch (clientConfigurations.getOperation()) {
            case DMSOperations.CREATE_INSTANCE:
                createInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.DELETE_INSTANCE:
                deleteInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.LIST_INSTANCES:
                listInstances(exchange, clientConfigurations);
                break;
            case DMSOperations.QUERY_INSTANCE:
                queryInstance(exchange, clientConfigurations);
                break;
            case DMSOperations.UPDATE_INSTANCE:
                updateInstance(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        String.format("%s is not a supported operation", clientConfigurations.getOperation()));
        }
    }
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
Pair #2643 Negative (Non-Clone)
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
Pair #2644 Negative (Non-Clone)
ID: 2300_1821
ClassID: 2300
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java
Name: org.apache.camel.component.aws2.kinesis.Kinesis2Endpoint.doStop()
    public void doStop() throws Exception {
        if (ObjectHelper.isEmpty(configuration.getAmazonKinesisClient())) {
            if (kinesisClient != null) {
                kinesisClient.close();
            } else if (Objects.nonNull(kinesisAsyncClient)) {
                kinesisAsyncClient.close();
            }
        }
        if (!configuration.isCborEnabled()) {
            System.clearProperty(CBOR_ENABLED.property());
        }
        super.doStop();
    }
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #2645 Negative (Non-Clone)
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
ID: 3099_2372
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.clientResponseValidation(boolean clientResponseValidation)
    public RestDefinition clientResponseValidation(boolean clientResponseValidation) {
        if (getVerbs().isEmpty()) {
            this.clientResponseValidation = Boolean.toString(clientResponseValidation);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setClientResponseValidation(Boolean.toString(clientResponseValidation));
        }

        return this;
    }
Pair #2646 Negative (Non-Clone)
ID: 1886_1555
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration)
    protected void configureDefaultCodecFactory(String type, IoService service, MinaConfiguration configuration) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                        type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
                LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                        codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
            }
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
Pair #2647 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 1492_1336
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final String node)
    public static String nodeValue(final int namespace, final String node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #2648 Negative (Non-Clone)
ID: 3267_2632
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Class<? extends Annotation> annotation, String... packageNames)
    public Set<Class<?>> findAnnotated(Class<? extends Annotation> annotation, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotation.getName(), Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithPackageScanFilter(annotation, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 2451_1942
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findDevConsoleNames()) {
            DevConsoleModel model = catalog.devConsoleModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #2649 Negative (Non-Clone)
ID: 340_392
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createProducerProperties()
    public Properties createProducerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, getKeySerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, getValueSerializer());
        addPropertyIfNotEmpty(props, ProducerConfig.ACKS_CONFIG, getRequestRequiredAcks());
        addPropertyIfNotEmpty(props, ProducerConfig.BUFFER_MEMORY_CONFIG, getBufferMemorySize());
        addPropertyIfNotEmpty(props, ProducerConfig.COMPRESSION_TYPE_CONFIG, getCompressionCodec());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRIES_CONFIG, getRetries());
        addPropertyIfNotEmpty(props, ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ProducerConfig.BATCH_SIZE_CONFIG, getProducerBatchSize());
        addPropertyIfNotEmpty(props, ProducerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ProducerConfig.LINGER_MS_CONFIG, getLingerMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_BLOCK_MS_CONFIG, getMaxBlockMs());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_REQUEST_SIZE_CONFIG, getMaxRequestSize());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_CLASS_CONFIG, getPartitioner());
        addPropertyIfNotEmpty(props, ProducerConfig.PARTITIONER_IGNORE_KEYS_CONFIG, isPartitionerIgnoreKeys());
        addPropertyIfNotEmpty(props, ProducerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, getRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, getDeliveryTimeoutMs());
        addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        addPropertyIfNotEmpty(props, ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, getMaxInFlightRequest());
        addPropertyIfNotEmpty(props, ProducerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ProducerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ProducerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, isEnableIdempotence());
        addPropertyIfNotEmpty(props, ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ProducerConfig.TRANSACTIONAL_ID_CONFIG, getTransactionalId());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applyProducerSslConfiguration(props);
        }

        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #2650 Negative (Non-Clone)
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
Pair #2651 Negative (Non-Clone)
ID: 836_718
ClassID: 836
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
Name: org.apache.camel.component.paho.PahoProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.connect(connectOptions);
        }
    }
ID: 3266_2630
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.replace(K key, V value)
    public V replace(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.computeIfPresent(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #2652 Negative (Non-Clone)
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
Pair #2653 Negative (Non-Clone)
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
Pair #2654 Negative (Non-Clone)
ID: 189_201
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetJob(Exchange exchange, AsyncCallback callback)
    private void processGetJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        Job job = exchange.getIn().getBody(Job.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 2294_1805
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.getUser(IamClient iamClient, Exchange exchange)
    private void getUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                GetUserRequest.class,
                iamClient::getUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.getUser(GetUserRequest.builder().userName(userName).build());
                },
                "Get user",
                (GetUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
Pair #2655 Negative (Non-Clone)
ID: 658_594
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/VolumeProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.VolumeProducer.messageToVolume(Message message)
    private Volume messageToVolume(Message message) {
        Volume volume = message.getBody(Volume.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeBuilder builder = Builders.volume();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name ");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.SIZE)) {
                builder.size(message.getHeader(CinderConstants.SIZE, Integer.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_TYPE)) {
                builder.volumeType(message.getHeader(CinderConstants.VOLUME_TYPE, String.class));
            }

            if (headers.containsKey(CinderConstants.IMAGE_REF)) {
                builder.imageRef(message.getHeader(CinderConstants.IMAGE_REF, String.class));
            }

            if (headers.containsKey(CinderConstants.SNAPSHOT_ID)) {
                builder.snapshot(message.getHeader(CinderConstants.SNAPSHOT_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.IS_BOOTABLE)) {
                builder.bootable(message.getHeader(CinderConstants.IS_BOOTABLE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #2656 Negative (Non-Clone)
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
Pair #2657 Negative (Non-Clone)
ID: 18_21
ClassID: 18
File: systems/camel-java/components/camel-ehcache/src/generated/java/org/apache/camel/component/ehcache/EhcacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.ehcache.EhcacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.ehcache.EhcacheProducer target = (org.apache.camel.component.ehcache.EhcacheProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage()); return null;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage()); return null;
        case "remove_all":
        case "REMOVE_ALL": target.onRemoveAll(exchange.getMessage()); return null;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #2658 Negative (Non-Clone)
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #2659 Negative (Non-Clone)
ID: 2098_1695
ClassID: 2098
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
Name: org.apache.camel.component.file.remote.FtpEndpoint.createRemoteFileOperations()
    public RemoteFileOperations<FTPFile> createRemoteFileOperations() throws Exception {
         
        FTPClient client = ftpClient;

        if (client == null) {
             
             
            client = createFtpClient();
        }

         
         
        if (getBufferSize() > 0) {
            client.setBufferSize(getBufferSize());
        }
         
        if (getConfiguration().getConnectTimeout() > -1) {
            client.setConnectTimeout(getConfiguration().getConnectTimeout());
        }
        if (getConfiguration().getSoTimeout() > -1) {
            soTimeout = getConfiguration().getSoTimeout();
        }
        dataTimeout = getConfiguration().getTimeout();

        if (getConfiguration().getActivePortRange() != null) {
             
            String[] parts = getConfiguration().getActivePortRange().split("-");
            if (parts.length != 2) {
                throw new IllegalArgumentException("The option activePortRange should have syntax: min-max");
            }
            int min = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[0]);
            int max = getCamelContext().getTypeConverter().mandatoryConvertTo(int.class, parts[1]);
            LOG.debug("Using active port range: {}-{}", min, max);
            client.setActivePortRange(min, max);
        }

         
        if (ftpClientParameters != null) {
            Map<String, Object> localParameters = new HashMap<>(ftpClientParameters);
             
             
            Object timeout = localParameters.remove("soTimeout");
            if (timeout != null) {
                soTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
             
            timeout = localParameters.remove("dataTimeout");
            if (timeout != null) {
                dataTimeout = getCamelContext().getTypeConverter().convertTo(int.class, timeout);
            }
            setProperties(client, localParameters);
        }

        if (ftpClientConfigParameters != null) {
             
             
            if (ftpClientConfig == null) {
                ftpClientConfig = new FTPClientConfig();
            }
            Map<String, Object> localConfigParameters = new HashMap<>(ftpClientConfigParameters);
            setProperties(ftpClientConfig, localConfigParameters);
        }

        if (dataTimeout > 0) {
            client.setDataTimeout(dataTimeout);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Created FTPClient[connectTimeout: {}, soTimeout: {}, dataTimeout: {}, bufferSize: {}"
                      + ", receiveDataSocketBufferSize: {}, sendDataSocketBufferSize: {}]: {}",
                    client.getConnectTimeout(), getSoTimeout(), dataTimeout, client.getBufferSize(),
                    client.getReceiveDataSocketBufferSize(), client.getSendDataSocketBufferSize(), client);
        }

        FtpOperations operations = new FtpOperations(client, getFtpClientConfig());
        operations.setEndpoint(this);
        return operations;
    }
ID: 1692_1417
ClassID: 1692
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Name: org.apache.camel.spring.spi.SpringInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #2660 Negative (Non-Clone)
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
ID: 26_42
ClassID: 26
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.createActiveMQMessage(Exchange exchange)
    private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException {
        Object body = exchange.getIn().getBody();
        if (body instanceof String) {
            ActiveMQTextMessage answer = new ActiveMQTextMessage();
            answer.setText((String) body);
            return answer;
        } else if (body instanceof Serializable) {
            ActiveMQObjectMessage answer = new ActiveMQObjectMessage();
            answer.setObject((Serializable) body);
            return answer;
        } else {
            return new ActiveMQMessage();
        }

    }
Pair #2661 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #2662 Negative (Non-Clone)
ID: 1540_1357
ClassID: 1540
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java
Name: org.apache.camel.component.netty.http.DefaultNettyHttpBinding.toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
    public Message toCamelMessage(InboundStreamHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration)
            throws Exception {
        LOG.trace("toCamelMessage: {}", request);

        NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, null);
        answer.setExchange(exchange);
        if (configuration.isMapHeaders()) {
            populateCamelHeaders(request.getHttpRequest(), answer.getHeaders(), exchange, configuration);
        }

        answer.setBody(request.getInputStream());
        return answer;
    }
ID: 1005_865
ClassID: 1005
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.parseQueryParams(Map<String, Object> options)
    private void parseQueryParams(Map<String, Object> options) {
         
        final Map<String, String> queryParams = new HashMap<>();
        for (Iterator<Map.Entry<String, Object>> it = options.entrySet().iterator(); it.hasNext();) {

            final Map.Entry<String, Object> entry = it.next();
            final String paramName = entry.getKey();

             
            if (paramName.startsWith("consumer.")) {
                continue;
            }

            if (!olingo2endpointPropertyNames.contains(paramName)) {

                 
                final Object value = entry.getValue();
                if (value == null) {
                    throw new IllegalArgumentException("Null value for query parameter " + paramName);
                }
                queryParams.put(paramName, value.toString());

                 
                it.remove();
            }
        }
        if (!queryParams.isEmpty()) {

            @SuppressWarnings("unchecked")
            final Map<String, String> oldParams = (Map<String, String>) options.get(QUERY_PARAMS_PROPERTY);
            if (oldParams == null) {
                 
                options.put(QUERY_PARAMS_PROPERTY, queryParams);
            } else {
                 
                oldParams.putAll(queryParams);
            }

        }
    }
Pair #2663 Negative (Non-Clone)
ID: 2446_1929
ClassID: 2446
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
Name: org.apache.camel.dsl.jbang.core.commands.version.VersionList.releaseDate(Row r)
    private String releaseDate(Row r) {
        try {
            if (r.releaseDate != null) {
                SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);
                Date d = sdf.parse(r.releaseDate);
                SimpleDateFormat sdf2 = new SimpleDateFormat(dateFormat, Locale.US);
                return sdf2.format(d);
            }
        } catch (Exception e) {
             
        }
        return r.releaseDate != null ? r.releaseDate : "";
    }
ID: 2046_1661
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
Pair #2664 Negative (Non-Clone)
ID: 2382_1872
ClassID: 2382
File: systems/camel-java/components/camel-flowable/src/main/java/org/apache/camel/component/flowable/FlowableEndpoint.java
Name: org.apache.camel.component.flowable.FlowableEndpoint.createEndpointUri()
    protected String createEndpointUri() {
        if (channelKey != null) {
            return "flowable:" + channelKey;
        } else if (camelInboundChannel != null) {
            return "flowable:" + camelInboundChannel.getKey();
        } else {
            return "flowable:" + camelOutboundChannel.getKey();
        }
    }
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
Pair #2665 Negative (Non-Clone)
ID: 738_663
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-sqlserver/src/generated/java/org/apache/camel/component/debezium/sqlserver/configuration/SqlServerConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.sqlserver.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "data.query.mode", dataQueryMode);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "database.instance", databaseInstance);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "database.names", databaseNames);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.allow.schema.changes", incrementalSnapshotAllowSchemaChanges);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "streaming.fetch.size", streamingFetchSize);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.option.recompile", incrementalSnapshotOptionRecompile);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "max.iteration.transactions", maxIterationTransactions);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #2666 Negative (Non-Clone)
ID: 1249_1084
ClassID: 1249
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java
Name: org.apache.camel.support.LoggingExceptionHandler.isCausedByRollbackExchangeException(Throwable exception)
    protected boolean isCausedByRollbackExchangeException(Throwable exception) {
        if (exception == null) {
            return false;
        }
        if (exception instanceof RollbackExchangeException) {
            return true;
        } else if (exception.getCause() != null) {
             
            return isCausedByRollbackExchangeException(exception.getCause());
        }

        return false;
    }
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
Pair #2667 Negative (Non-Clone)
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
ID: 1861_1528
ClassID: 1861
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.determineProvider(String algorithm)
    private String determineProvider(String algorithm) {
        try {
            PQCSignatureAlgorithms sigAlg = PQCSignatureAlgorithms.valueOf(algorithm);
            return sigAlg.getBcProvider();
        } catch (IllegalArgumentException e1) {
            try {
                PQCKeyEncapsulationAlgorithms kemAlg = PQCKeyEncapsulationAlgorithms.valueOf(algorithm);
                return kemAlg.getBcProvider();
            } catch (IllegalArgumentException e2) {
                return null;
            }
        }
    }
Pair #2668 Negative (Non-Clone)
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 3230_2540
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.nullExpression()
    public static Expression nullExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return null;
            }

            @Override
            public String toString() {
                return "null";
            }
        };
    }
Pair #2669 Negative (Non-Clone)
ID: 1138_982
ClassID: 1138
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/AbstractGitConsumer.java
Name: org.apache.camel.component.git.consumer.AbstractGitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            Object value = onPreProcessed(exchange);
            getProcessor().process(exchange);
            onProcessed(exchange, value);
        }

        return answer;
    }
ID: 1255_1098
ClassID: 1255
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #2670 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #2671 Negative (Non-Clone)
ID: 119_110
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setSecureRandomName(String randomName)
    public void setSecureRandomName(String randomName) {
        if (context != null && randomName != null) {
            SecureRandom random = context.getRegistry().lookupByNameAndType(randomName, SecureRandom.class);
            if (keystore != null) {
                setSecureRandom(random);
            }
        }
        if (randomName != null) {
            this.secureRandomName = randomName;
        }
    }
ID: 2541_2117
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findJavaFiles(File dir, Set<File> javaFiles)
    public static void findJavaFiles(File dir, Set<File> javaFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".java")) {
                    javaFiles.add(file);
                } else if (file.isDirectory()) {
                    findJavaFiles(file, javaFiles);
                }
            }
        }
    }
Pair #2672 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #2673 Negative (Non-Clone)
ID: 2229_1745
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doAdd(Exchange exchange, String operation)
    protected void doAdd(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.add().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #2674 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 2372_1866
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteVocabulary(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteVocabularyRequest) {
                try {
                    transcribeClient.deleteVocabulary((DeleteVocabularyRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteVocabularyRequest.Builder builder = DeleteVocabularyRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME))) {
                String vocabularyName = exchange.getIn().getHeader(Transcribe2Constants.VOCABULARY_NAME, String.class);
                builder.vocabularyName(vocabularyName);
            }
            try {
                transcribeClient.deleteVocabulary(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Vocabulary command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
Pair #2675 Negative (Non-Clone)
ID: 2597_2209
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getShort(final int index)
    public Short getShort(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
ID: 2268_1786
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaPollingConsumer.java
Name: org.apache.camel.component.jpa.JpaPollingConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Map.Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
Pair #2676 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #2677 Negative (Non-Clone)
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
ID: 338_382
ClassID: 338
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaSendDynamicAware.java
Name: org.apache.camel.component.kafka.KafkaSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseTopicName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseTopicName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #2678 Negative (Non-Clone)
ID: 239_295
ClassID: 239
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/vault/PubsubReloadTriggerTask.java
Name: org.apache.camel.component.google.secret.manager.vault.PubsubReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 230_276
ClassID: 230
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/SftpProcessStrategyFactory.java
Name: org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<SftpRemoteFile> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<SftpRemoteFile> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<SftpRemoteFile> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<SftpRemoteFile> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<SftpRemoteFile> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
Pair #2679 Negative (Non-Clone)
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 1313_1207
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation)
    private void doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation) {
        String podName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodSpec podSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
        if (ObjectHelper.isEmpty(podName)) {
            LOG.error("{} a specific pod require specify a pod name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific pod require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific pod require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(podSpec)) {
            LOG.error("{} a specific pod require specify a pod spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a pod spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Pod podCreating = new PodBuilder().withNewMetadata().withName(podName).withLabels(labels).endMetadata()
                .withSpec(podSpec).build();
        Pod pod = operation.apply(getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).resource(podCreating));

        prepareOutboundMessage(exchange, pod);
    }
Pair #2680 Negative (Non-Clone)
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 2047_1662
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileChangedExclusiveReadLockStrategy readLockStrategy = new FileChangedExclusiveReadLockStrategy();
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #2681 Negative (Non-Clone)
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
Pair #2682 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #2683 Negative (Non-Clone)
ID: 2228_1744
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitTagConsumer.java
Name: org.apache.camel.component.git.consumer.GitTagConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().tagList().call();
        for (Ref ref : call) {
            if (!tagsConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1972_1604
ClassID: 1972
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        List<Embedding> embeddings = getEmbeddings(in);
        List<Map<String, String>> metadatas = in.getHeader(ChromaHeaders.METADATAS, List.class);
        List<String> documents = in.getBody(List.class);

        collection.updateEmbeddings(embeddings, metadatas, documents, ids);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
Pair #2684 Negative (Non-Clone)
ID: 1808_1488
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListContainersRequest(DockerClient client, Message message)
    private ListContainersCmd executeListContainersRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker List Container Request");

        ListContainersCmd listContainersCmd = client.listContainersCmd();

        String before = DockerHelper.getProperty(DockerConstants.DOCKER_BEFORE, configuration, message, String.class);

        if (before != null) {
            listContainersCmd.withBefore(before);
        }

        Integer limit = DockerHelper.getProperty(DockerConstants.DOCKER_LIMIT, configuration, message, Integer.class);

        if (limit != null) {
            listContainersCmd.withLimit(limit);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listContainersCmd.withShowAll(showAll);
        }

        Boolean showSize = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_SIZE, configuration, message, Boolean.class);

        if (showSize != null) {
            listContainersCmd.withShowSize(showSize);
        }

        String since = DockerHelper.getProperty(DockerConstants.DOCKER_SINCE, configuration, message, String.class);

        if (since != null) {
            listContainersCmd.withSince(since);
        }

        return listContainersCmd;

    }
ID: 377_411
ClassID: 377
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.sjms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append("JMSCorrelationID='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR JMSCorrelationID='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #2685 Negative (Non-Clone)
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
ID: 302_359
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureStorageDataLakeSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureStorageDataLakeSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, getComponent());

        String fileSystemName = exchange.getIn().getHeader(FILESYSTEM_NAME, String.class);
        if (fileSystemName != null) {
            span.setTag(TagConstants.DB_NAME, fileSystemName);
        }

        String directoryName = exchange.getIn().getHeader(DIRECTORY_NAME, String.class);
        if (directoryName != null) {
            span.setTag(STORAGE_DATALAKE_DIRECTORY_NAME, directoryName);
        }

        String fileName = exchange.getIn().getHeader(FILE_NAME, String.class);
        if (fileName != null) {
            span.setTag(STORAGE_DATALAKE_FILE_NAME, fileName);
        }

        String path = exchange.getIn().getHeader(PATH, String.class);
        if (path != null) {
            span.setTag(STORAGE_DATALAKE_PATH, path);
        }

        Duration timeout = exchange.getIn().getHeader(TIMEOUT, Duration.class);
        if (timeout != null) {
            span.setTag(STORAGE_DATALAKE_TIMEOUT, timeout.toString());
        }

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(STORAGE_DATALAKE_CONTENT_TYPE, contentType);
        }

        Map metadata = exchange.getIn().getHeader(METADATA, Map.class);
        if (metadata != null) {
            span.setTag(STORAGE_DATALAKE_METADATA, metadata.toString());
        }

        OffsetDateTime lastModified = exchange.getIn().getHeader(LAST_MODIFIED, OffsetDateTime.class);
        if (lastModified != null) {
            span.setTag(STORAGE_DATALAKE_LAST_MODIFIED, lastModified.toString());
        }

        Long position = exchange.getIn().getHeader(POSITION, Long.class);
        if (position != null) {
            span.setTag(STORAGE_DATALAKE_POSITION, position);
        }

        String expression = exchange.getIn().getHeader(EXPRESSION, String.class);
        if (expression != null) {
            span.setTag(STORAGE_DATALAKE_EXPRESSION, expression);
        }
    }
Pair #2686 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 3105_2387
ClassID: 3105
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
Name: org.apache.camel.model.language.MethodCallExpression.instance(Object instance)
        public Builder instance(Object instance) {
             
            if (instance instanceof Class) {
                this.beanType = (Class<?>) instance;
                this.instance = null;
            } else {
                this.beanType = null;
                this.instance = instance;
            }
            return this;
        }
Pair #2687 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 185_179
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getResults(String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getResults(
            String jobId, String batchId, Map<String, List<String>> headers, final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #2688 Negative (Non-Clone)
ID: 241_306
ClassID: 241
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("GCP Secret Manager:");
            if (propertiesFunction.isUseDefaultInstance()) {
                sb.append("\n    Login: Default Instance");
            } else {
                sb.append("\n    Login: Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", gcp.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", gcp.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #2689 Negative (Non-Clone)
ID: 2201_1730
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GitHubResource.java
Name: org.apache.camel.github.GitHubResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
Pair #2690 Negative (Non-Clone)
ID: 1317_1220
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Config maps Cluster:");
            sb.append(String.format("\n    Master Url: %s", propertiesFunction.getClient().getMasterUrl()));
            sb.append("\n    Login: OAuth Token");
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (cmRefreshTask != null) {
                Instant start = cmRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #2691 Negative (Non-Clone)
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
Pair #2692 Negative (Non-Clone)
ID: 2250_1781
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemoveAsync(Message message)
    public void onRemoveAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> resultRemoveAsyncKey;
        final CompletableFuture<Boolean> resultRemoveAsyncKeyValue;

        if (ObjectHelper.isEmpty(value)) {
            resultRemoveAsyncKey = cache.removeAsync(key);
            setResult(message, resultRemoveAsyncKey);
        } else {
            resultRemoveAsyncKeyValue = cache.removeAsync(key, value);
            setResult(message, resultRemoveAsyncKeyValue);
        }
    }
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
Pair #2693 Negative (Non-Clone)
ID: 348_398
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.createRecord(Exchange exchange)
    private void createRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.POST, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
Pair #2694 Negative (Non-Clone)
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
Pair #2695 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
Pair #2696 Negative (Non-Clone)
ID: 2522_2082
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Activemq6ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.Activemq6ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 1400_1246
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppNLSTSplitter.java
Name: org.apache.camel.component.smpp.SmppNLSTSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            byte[] nliMessage = new byte[UDHIE_NLI_SINGLE_MSG_HEADER_REAL_LENGTH + message.length];
            nliMessage[0] = (byte) UDHIE_NLI_SINGLE_MSG_HEADER_LENGTH;
            nliMessage[1] = (byte) UDHIE_NLI_IDENTIFIER;
            nliMessage[2] = (byte) UDHIE_NLI_HEADER_LENGTH;
            nliMessage[3] = this.languageIdentifier;
            System.arraycopy(message, 0, nliMessage, 4, message.length);
            return new byte[][] { nliMessage };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            logger.debug("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            logger.debug("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH + lengthOfData];
            logger.debug("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_NLI_MULTI_MSG_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);

             
            segments[i][6] = (byte) UDHIE_NLI_IDENTIFIER;
            segments[i][7] = (byte) UDHIE_NLI_HEADER_LENGTH;
            segments[i][8] = this.languageIdentifier;

             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_NLI_MULTI_MSG_HEADER_REAL_LENGTH, lengthOfData);
        }
        return segments;
    }
Pair #2697 Negative (Non-Clone)
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1007_868
ClassID: 1007
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(ClientEntitySet entitySet)
    private ClientEntitySet filter(ClientEntitySet entitySet) {
        if (entitySet == null) {
            return new ClientEntitySetImpl();
        }

        List<ClientEntity> entities = entitySet.getEntities();

        if (entities.isEmpty()) {
            return entitySet;
        }

        List<ClientEntity> copyEntities = new ArrayList<>(entities);

        for (ClientEntity entity : copyEntities) {
            if (resultIndex.contains(entity.hashCode())) {
                entities.remove(entity);
            }
        }

        return entitySet;
    }
Pair #2698 Negative (Non-Clone)
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2699 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1624_1400
ClassID: 1624
File: systems/camel-java/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java
Name: org.apache.camel.component.aws2.cw.Cw2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Cw2Operations operation = determineOperation(exchange);
        CloudWatchClient client = getEndpoint().getCloudWatchClient();

        switch (operation) {
            case putMetricData:
                putMetricData(client, exchange);
                break;
            case listMetrics:
                listMetrics(client, exchange);
                break;
            case describeAlarms:
                describeAlarms(client, exchange);
                break;
            case describeAlarmsForMetric:
                describeAlarmsForMetric(client, exchange);
                break;
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #2700 Negative (Non-Clone)
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2701 Negative (Non-Clone)
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
Pair #2702 Negative (Non-Clone)
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
ID: 1126_960
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateFaceDetectionConfigurations(Exchange exchange, ClientConfigurations clientConfigurations) {
        String imageBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_BASE64, String.class);
        clientConfigurations.setImageBase64(StringUtils.isEmpty(imageBase64) ? this.endpoint.getImageBase64() : imageBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getImageBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String imageUrl = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_URL, String.class);
        clientConfigurations.setImageUrl(StringUtils.isEmpty(imageUrl) ? this.endpoint.getImageUrl() : imageUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getImageUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String imageFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_IMAGE_FILE_PATH, String.class);
        clientConfigurations
                .setImageFilePath(StringUtils.isEmpty(imageFilePath) ? this.endpoint.getImageFilePath() : imageFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getImageFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of image base64, url and filePath needs to be set");
    }
Pair #2703 Negative (Non-Clone)
ID: 879_731
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/ZonedDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.ZonedDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 2457_1955
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));
        answer.removeIf(s -> s.contains("camel-microprofile-health"));

        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-quarkus:" + hawtioVersion);
        }

        return answer;
    }
Pair #2704 Negative (Non-Clone)
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
Pair #2705 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 2588_2192
ClassID: 2588
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
Name: org.apache.camel.maven.packaging.PrepareComponentMojo.syncAllComponentsPomFile()
    private void syncAllComponentsPomFile() throws MojoExecutionException {
        Path root = findCamelDirectory(project.getBasedir(), "catalog/camel-allcomponents").toPath();
        Path pomFile = root.resolve("pom.xml");

        final String startDependenciesMarker = "<dependencies>";
        final String endDependenciesMarker = "</dependencies>";

        if (!Files.isRegularFile(pomFile)) {
            throw new MojoExecutionException("Pom file " + pomFile + " does not exist");
        }

        try {
            final String pomText = loadText(pomFile);

            final String before = Strings.before(pomText, startDependenciesMarker);
            final String after = Strings.after(pomText, endDependenciesMarker);

            final String between = pomText.substring(before.length(), pomText.length() - after.length());

             
            Pattern pattern = Pattern.compile(
                    "<dependency>\\s*<groupId>(?<groupId>.*)</groupId>\\s*<artifactId>(?<artifactId>.*)</artifactId>");
            Matcher matcher = pattern.matcher(between);
            TreeSet<MavenGav> dependencies = new TreeSet<>();
            while (matcher.find()) {
                MavenGav gav = new MavenGav(matcher.group(1), matcher.group(2), "${project.version}", null);
                dependencies.add(gav);
            }
             
            dependencies.add(new MavenGav(project.getGroupId(), project.getArtifactId(), "${project.version}", null));

             
            String s = dependencies.stream()
                     
                    .filter(g -> !g.artifactId.contains("-maven-plugin"))
                    .map(g -> g.asString("        "))
                    .collect(Collectors.joining("\n"));
            final String updatedPom = before + startDependenciesMarker
                                      + "\n" + s + "\n"
                                      + "    " + endDependenciesMarker + after;

            updateResource(root, "pom.xml", updatedPom);
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + pomFile + " Reason: " + e, e);
        }
    }
Pair #2706 Negative (Non-Clone)
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
ID: 3270_2640
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
Pair #2707 Negative (Non-Clone)
ID: 1246_1075
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.valueOf(DirectoryChangeEvent.EventType directoryChangeEventType)
    public static FileEventEnum valueOf(DirectoryChangeEvent.EventType directoryChangeEventType) {
        switch (directoryChangeEventType) {
            case CREATE:
                return FileEventEnum.CREATE;
            case DELETE:
                return FileEventEnum.DELETE;
            case MODIFY:
                return FileEventEnum.MODIFY;
            default:
                return null;
        }
    }
ID: 635_568
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcClientOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
Pair #2708 Negative (Non-Clone)
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 1331_1235
ClassID: 1331
File: systems/camel-java/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java
Name: org.apache.camel.component.thrift.ThriftConsumer.doSend(Exchange exchange, AsyncCallback callback)
    private boolean doSend(Exchange exchange, AsyncCallback callback) {
        if (isRunAllowed()) {
            getAsyncProcessor().process(exchange, doneSync -> {
                if (exchange.getException() != null) {
                    getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
                }
                callback.done(doneSync);
            });
            return false;
        } else {
            LOG.warn("Consumer not ready to process exchanges. The exchange {} will be discarded", exchange);
            callback.done(true);
            return true;
        }
    }
Pair #2709 Negative (Non-Clone)
ID: 2403_1898
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxPutProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        String localPath = DropboxHelper.getLocalPath(configuration, exchange);
        DropboxUploadMode uploadMode = DropboxHelper.getUploadMode(configuration, exchange);

        DropboxConfigurationValidator.validatePutOp(localPath, remotePath, uploadMode);

        DropboxFileUploadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .put(localPath, remotePath, uploadMode);

        Map<String, DropboxResultCode> map = result.getResults();
        if (map.size() == 1) {
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }

        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.UPLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Uploaded: {}", result);
        }
    }
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
Pair #2710 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 107_100
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollAdminEvents()
    private Queue<Exchange> pollAdminEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming admin events");
        }

         
         
         
        List<String> adminOperationTypes = parseCommaSeparatedList(config.getOperationTypes());
        List<AdminEventRepresentation> adminEvents = keycloakClient.realm(realm).getAdminEvents(
                adminOperationTypes,  
                config.getAuthRealmFilter(),  
                config.getAuthClient(),  
                config.getAuthUser(),  
                config.getAuthIpAddress(),  
                config.getResourcePath(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (AdminEventRepresentation adminEvent : adminEvents) {
            long eventTime = adminEvent.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getAdminEventFingerprint(adminEvent);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed admin event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(adminEvent);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "admin-event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, adminEvent.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                 
                 
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last admin event time to: {}", lastEventTime);
        }

        return queue;
    }
Pair #2711 Negative (Non-Clone)
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
ID: 2522_2087
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumMongodbComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumMongodbComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumMongodbComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumMongodbComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumMongodbComponent) component).setConfiguration((org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumMongodbComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumMongodbComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "captureMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCaptureMode((java.lang.String) value); return true;
            case "collectionExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionExcludeList((java.lang.String) value); return true;
            case "collectionIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCollectionIncludeList((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumMongodbComponent) component).setConverters((java.lang.String) value); return true;
            case "cursorMaxAwaitTimeMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCursorMaxAwaitTimeMs((int) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumMongodbComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseExcludeList((java.lang.String) value); return true;
            case "databaseIncludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setDatabaseIncludeList((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumMongodbComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "fieldExcludeList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldExcludeList((java.lang.String) value); return true;
            case "fieldRenames": getOrCreateConfiguration((DebeziumMongodbComponent) component).setFieldRenames((java.lang.String) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumMongodbComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "mongodbAuthsource": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbAuthsource((java.lang.String) value); return true;
            case "mongodbConnectionString": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectionString((java.lang.String) value); return true;
            case "mongodbConnectTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbConnectTimeoutMs((int) value); return true;
            case "mongodbHeartbeatFrequencyMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbHeartbeatFrequencyMs((int) value); return true;
            case "mongodbPassword": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPassword((java.lang.String) value); return true;
            case "mongodbPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbPollIntervalMs((long) value); return true;
            case "mongodbServerSelectionTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbServerSelectionTimeoutMs((int) value); return true;
            case "mongodbSocketTimeoutMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSocketTimeoutMs((int) value); return true;
            case "mongodbSslEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslEnabled((boolean) value); return true;
            case "mongodbSslInvalidHostnameAllowed": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbSslInvalidHostnameAllowed((boolean) value); return true;
            case "mongodbUser": getOrCreateConfiguration((DebeziumMongodbComponent) component).setMongodbUser((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumMongodbComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumMongodbComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumMongodbComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setQueryFetchSize((int) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotCollectionFilterOverrides": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotCollectionFilterOverrides((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumMongodbComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumMongodbComponent) component).setStreamingDelayMs((long) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumMongodbComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #2712 Negative (Non-Clone)
ID: 3211_2485
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedRouteMBean mrb)
    private static JsonObject getStatsObject(ManagedRouteMBean mrb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mrb.getExchangesTotal());
        stats.put("exchangesFailed", mrb.getExchangesFailed());
        stats.put("exchangesInflight", mrb.getExchangesInflight());
        stats.put("meanProcessingTime", mrb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mrb.getMaxProcessingTime());
        stats.put("minProcessingTime", mrb.getMinProcessingTime());
        stats.put("lastProcessingTime", mrb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mrb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mrb.getTotalProcessingTime());
        return stats;
    }
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #2713 Negative (Non-Clone)
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
ID: 1905_1568
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedHeadersMDC(Exchange exchange, boolean push)
    private void userSelectedHeadersMDC(Exchange exchange, boolean push) {
        for (String customHeader : getCustomHeaders().split(",")) {
            if (exchange.getIn().getHeader(customHeader) != null) {
                if (push) {
                    MDC.put(customHeader, exchange.getIn().getHeader(customHeader, String.class));
                } else {
                    MDC.remove(customHeader);
                }
            }
        }
    }
Pair #2714 Negative (Non-Clone)
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 898_761
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarComponent.getClient(GoogleCalendarConfiguration config)
    public Calendar getClient(GoogleCalendarConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Calendar client");
            }
        }
        return client;
    }
Pair #2715 Negative (Non-Clone)
ID: 2559_2131
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestConfiguration(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestConfigurationDetails> parseRestConfiguration(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestConfigurationDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestConfigurationDetails> details
                    = parser.parseRestConfiguration(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
Pair #2716 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #2717 Negative (Non-Clone)
ID: 227_266
ClassID: 227
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFiles(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        ShareFileItem[] files;
        if (fastExistsCheck) {
             
             
             
            files = getFilesFast(operations, file);
        } else {
            files = getFilesByFilter(operations, file);
        }
        return files;
    }
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
Pair #2718 Negative (Non-Clone)
ID: 2092_1682
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getFtpFiles(String dir)
    private FTPFile[] getFtpFiles(String dir) {
        FTPFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #2719 Negative (Non-Clone)
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
ID: 444_474
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketObjectEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketObjectEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof Serializable) {
            Serializable payload = (Serializable) msg.content();
            ByteBuf buf = ctx.alloc().buffer();
            delegateObjectEncoder.encode(ctx, payload, buf);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(buf, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not a java.io.Serializable instance.");
        }
    }
Pair #2720 Negative (Non-Clone)
ID: 2639_2281
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue)
    protected Processor createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                exchange.setProperty(property, propertyValue);
                Message in = exchange.getIn();
                in.setBody(body);
            }
        };
    }
ID: 2660_2337
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
Name: org.apache.camel.processor.SendDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public SendDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found SendDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (SendDynamicAware.class.isAssignableFrom(type)) {
                SendDynamicAware answer = (SendDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a SendDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #2721 Negative (Non-Clone)
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
Pair #2722 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #2723 Negative (Non-Clone)
ID: 685_623
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJsonTimeUnitSeconds()
    public String dumpStatisticsAsJsonTimeUnitSeconds() {
        ObjectWriter writer = secondsMapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2460_1961
ClassID: 2460
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyLocalLibDependencies(Set<String> deps)
    protected void copyLocalLibDependencies(Set<String> deps) throws Exception {
        for (String d : deps) {
            if (d.startsWith("lib:")) {
                Path libDirPath = Paths.get(BUILD_DIR, "lib");
                Files.createDirectories(libDirPath);
                String n = d.substring(4);
                Path sourcePath = Paths.get(n);
                Path targetPath = libDirPath.resolve(n);
                ExportHelper.safeCopy(sourcePath, targetPath, true, symbolicLink);
            }
        }
    }
Pair #2724 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 921_792
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsub.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubConsumer consumer, GooglePubsubEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #2725 Negative (Non-Clone)
ID: 2327_1834
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentFromExchange(Exchange exchange)
    private Document createDocumentFromExchange(Exchange exchange) throws InvalidPayloadException {
         
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isNotEmpty(s3Bucket) && ObjectHelper.isNotEmpty(s3Object)) {
            S3Object.Builder s3ObjectBuilder = S3Object.builder()
                    .bucket(s3Bucket)
                    .name(s3Object);

            String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
            if (ObjectHelper.isEmpty(s3ObjectVersion)) {
                s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
            }
            if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
                s3ObjectBuilder.version(s3ObjectVersion);
            }

            return Document.builder()
                    .s3Object(s3ObjectBuilder.build())
                    .build();
        } else {
             
            byte[] documentBytes = exchange.getIn().getMandatoryBody(byte[].class);
            return Document.builder()
                    .bytes(SdkBytes.fromByteArray(documentBytes))
                    .build();
        }
    }
ID: 379_415
ClassID: 379
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsHeaderFilterStrategy.java
Name: org.apache.camel.component.sjms.SjmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add("JMSXUserID");
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
Pair #2726 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
Pair #2727 Negative (Non-Clone)
ID: 1308_1158
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Event, EventList, Resource<Event>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().events().v1().events().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Event, EventList, Resource<Event>> client
                        = getEndpoint().getKubernetesClient().events().v1().events().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Event, EventList, Resource<Event>>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
ID: 176_157
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.CLOSED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #2728 Negative (Non-Clone)
ID: 2642_2291
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultAsyncProcessor()
    private Processor defaultAsyncProcessor() {
        final Map<String, Object> headersCopy = ObjectHelper.isNotEmpty(this.headers) ? new HashMap<>(this.headers) : null;
        final Map<String, Object> propertiesCopy
                = ObjectHelper.isNotEmpty(this.exchangeProperties) ? new HashMap<>(this.exchangeProperties) : null;
        final Map<String, Object> variablesCopy
                = ObjectHelper.isNotEmpty(this.variables) ? new HashMap<>(this.variables) : null;
        final Object bodyCopy = this.body;
        return exchange -> {
            if (headersCopy != null) {
                exchange.getIn().getHeaders().putAll(headersCopy);
            }
            if (propertiesCopy != null) {
                exchange.getProperties().putAll(propertiesCopy);
            }
            if (bodyCopy != null) {
                exchange.getIn().setBody(bodyCopy);
            }
            if (variablesCopy != null) {
                variablesCopy.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
ID: 2400_1887
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetProducer.java
Name: org.apache.camel.component.hazelcast.set.HazelcastSetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(exchange);
                break;

            case REMOVE_VALUE:
                this.remove(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the SET cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2729 Negative (Non-Clone)
ID: 1876_1551
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getFilters()
    public Map<String, String> getFilters() {
        Map<String, String> answer = new HashMap<>();
        if (this.filters != null) {
            answer.putAll(this.filters);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_FILTER_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_FILTER_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #2730 Negative (Non-Clone)
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
ID: 2096_1690
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onDownload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        totalChunkSize = totalChunkSize + resumeOffset;
        transferredBytes = totalChunkSize;

        String prefix = resume ? "Resume downloading" : "Downloading";
        String msg
                = prefix + " from host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (downloaded: " + size + ")";
        }
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
Pair #2731 Negative (Non-Clone)
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
ID: 2541_2117
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findJavaFiles(File dir, Set<File> javaFiles)
    public static void findJavaFiles(File dir, Set<File> javaFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".java")) {
                    javaFiles.add(file);
                } else if (file.isDirectory()) {
                    findJavaFiles(file, javaFiles);
                }
            }
        }
    }
Pair #2732 Negative (Non-Clone)
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #2733 Negative (Non-Clone)
ID: 879_732
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale);
            } else {
                result = DateTimeFormatter.ofPattern(pattern);
            }
            return result;
        }
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
Pair #2734 Negative (Non-Clone)
ID: 440_461
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setOut(Exchange exchange, Object payload)
    public static void setOut(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getOut().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getOut().setHeaders(exchange.getIn().getHeaders());
            exchange.getOut().setBody(payload);
        }
    }
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #2735 Negative (Non-Clone)
ID: 228_268
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesByFilter(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #2736 Negative (Non-Clone)
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 1130_963
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.removeConsumer(String key, DirectConsumer consumer)
    public void removeConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #2737 Negative (Non-Clone)
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
ID: 284_350
ClassID: 284
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        JsonNode answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.JSON.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #2738 Negative (Non-Clone)
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
Pair #2739 Negative (Non-Clone)
ID: 1001_857
ClassID: 1001
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo2Consumer consumer = new Olingo2Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
ID: 1406_1257
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, AlertNotification alertNotification)
    public SmppMessage createSmppMessage(CamelContext camelContext, AlertNotification alertNotification) {
        SmppMessage smppMessage = new SmppMessage(camelContext, alertNotification, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.AlertNotification.toString());
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, alertNotification.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, alertNotification.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, alertNotification.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, alertNotification.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, alertNotification.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, alertNotification.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.ESME_ADDR, alertNotification.getEsmeAddr());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_NPI, alertNotification.getEsmeAddrNpi());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_TON, alertNotification.getEsmeAddrTon());

        return smppMessage;
    }
Pair #2740 Negative (Non-Clone)
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
ID: 1001_856
ClassID: 1001
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo4Consumer consumer = new Olingo4Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
Pair #2741 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 1251_1088
ClassID: 1251
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(Route route, Processor processor)
    public Processor wrap(Route route, Processor processor) {
        TransactionErrorHandler answer;

         
         
         
         
         

         
        RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
        ErrorHandlerFactory builder = routeDefinition.getErrorHandlerFactory();

         
        if (builder instanceof RefErrorHandlerDefinition) {
             
            RefErrorHandlerDefinition builderRef = (RefErrorHandlerDefinition) builder;
            String ref = builderRef.getRef();
             
             
             
            if (ErrorHandlerHelper.isErrorHandlerFactoryConfigured(ref)) {
                LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
                builder = ErrorHandlerHelper.lookupErrorHandlerFactory(route, ref, true);
            }
        }

        if (builder != null && builder.supportTransacted()) {
             
            LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
            answer = createTransactionErrorHandler(route, processor, builder);
        } else {
             
             
             
            if (builder != null) {
                LOG.debug("The ErrorHandlerBuilder configured is not a TransactionErrorHandlerBuilder: {}", builder);
            } else {
                LOG.debug("No ErrorHandlerBuilder configured, will use default LegacyTransactionErrorHandlerBuilder settings");
            }
             
            LegacyTransactionErrorHandlerBuilder txBuilder = new LegacyTransactionErrorHandlerBuilder();
            txBuilder.setTransactionTemplate(getTransactionTemplate());
            txBuilder.setSpringTransactionPolicy(this);
            if (builder != null) {
                 
                route.addErrorHandlerFactoryReference(builder, txBuilder);
            }
            answer = createTransactionErrorHandler(route, processor, txBuilder);

             
            route.setErrorHandlerFactory(txBuilder);
        }

         
        return answer;
    }
Pair #2742 Negative (Non-Clone)
ID: 1913_1574
ClassID: 1913
File: systems/camel-java/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java
Name: org.apache.camel.component.dns.policy.DnsActivationPolicy.startRouteImpl(Route route)
    private void startRouteImpl(Route route) throws Exception {
        ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId());

        if (routeStatus == ServiceStatus.Stopped) {
            LOG.info("Starting {}", route.getId());
            startRoute(route);
        } else if (routeStatus == ServiceStatus.Suspended) {
            LOG.info("Resuming {}", route.getId());
            startConsumer(route.getConsumer());
        } else {
            LOG.debug("Nothing to do {} is {}", route.getId(), routeStatus);
        }
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2743 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 632_561
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
Name: org.apache.camel.component.quartz.QuartzEndpoint.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #2744 Negative (Non-Clone)
ID: 302_361
ClassID: 302
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AzureServiceBusSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount.toString());
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber.toString());
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
ID: 1214_1037
ClassID: 1214
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createFaultFromException(final Throwable exception)
    private JAXBElement<Fault> createFaultFromException(final Throwable exception) {
        WebFault webFault = exception.getClass().getAnnotation(WebFault.class);
        if (webFault == null || webFault.targetNamespace() == null) {
            throw new RuntimeException(
                    "The exception " + exception.getClass().getName()
                                       + " needs to have an WebFault annotation with name and targetNamespace",
                    exception);
        }
        QName name = new QName(webFault.targetNamespace(), webFault.name());
        Object faultObject;
        try {
            Method method = exception.getClass().getMethod("getFaultInfo");
            faultObject = method.invoke(exception);
        } catch (Exception e) {
            throw new RuntimeCamelException("Exception while trying to get fault details", e);
        }

        Fault fault = new Fault();
        Faultcode code = new Faultcode();
        code.setValue(FAULT_CODE_SERVER);
        fault.setCode(code);

        Reasontext text = new Reasontext();
        text.setValue(exception.getMessage());
        text.setLang("en");
        fault.setReason(new Faultreason().withText(text));

        Detail detailEl = new ObjectFactory().createDetail();
        @SuppressWarnings("rawtypes")
        JAXBElement<?> faultDetailContent = new JAXBElement(name, faultObject.getClass(), faultObject);
        detailEl.getAny().add(faultDetailContent);
        fault.setDetail(detailEl);
        return new ObjectFactory().createFault(fault);
    }
Pair #2745 Negative (Non-Clone)
ID: 3163_2416
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWeightedLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedWeightedLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 1430_1287
ClassID: 1430
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
    public static void skipToBoundary(AS2SessionInputBuffer inbuffer, InputStream is, String boundary)
            throws HttpException {

        boolean foundEndBoundary;
        try {
            foundEndBoundary = false;
            CharArrayBuffer lineBuffer = new CharArrayBuffer(1024);
            while (inbuffer.readLine(lineBuffer, is) != -1) {
                final ParserCursor cursor = new ParserCursor(0, lineBuffer.length());
                if (isBoundaryDelimiter(lineBuffer, cursor, boundary)) {
                    foundEndBoundary = true;
                    break;
                }
                lineBuffer.clear();
            }
        } catch (Exception e) {
            throw new HttpException("Failed to read start boundary for body part", e);
        }

        if (!foundEndBoundary && boundary != null) {
            throw new HttpException("Failed to find start boundary for body part");
        }

    }
Pair #2746 Negative (Non-Clone)
ID: 301_357
ClassID: 301
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.tracing.decorators.MongoDBSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 2600_2218
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
        boolean isFirstElement = true;
        final Iterator<Object> elements = this.iterator();
        writable.write('[');
        while (elements.hasNext()) {
            if (isFirstElement) {
                isFirstElement = false;
            } else {
                writable.write(',');
            }
            Jsoner.serialize(elements.next(), writable);
        }
        writable.write(']');
    }
Pair #2747 Negative (Non-Clone)
ID: 738_659
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/db2/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "include.schema.changes", includeSchemaChanges);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "cdc.change.tables.schema", cdcChangeTablesSchema);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.skip.unparseable.ddl", schemaHistoryInternalSkipUnparseableDdl);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.tables.ddl", schemaHistoryInternalStoreOnlyCapturedTablesDdl);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.store.only.captured.databases.ddl", schemaHistoryInternalStoreOnlyCapturedDatabasesDdl);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "cdc.control.schema", cdcControlSchema);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.history.internal", schemaHistoryInternal);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "db2.platform", db2Platform);
        
        return configBuilder.build();
    }
ID: 2645_2296
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(boolean autoRelease)
    public Exchange create(boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(null, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
Pair #2748 Negative (Non-Clone)
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 482_505
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #2749 Negative (Non-Clone)
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
Pair #2750 Negative (Non-Clone)
ID: 930_806
ClassID: 930
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.determineOperation(Exchange exchange)
    private GoogleVertexAIOperations determineOperation(Exchange exchange) {
        GoogleVertexAIOperations operation
                = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, GoogleVertexAIOperations.class);
        if (operation == null) {
            String operationString = exchange.getIn().getHeader(GoogleVertexAIConstants.OPERATION, String.class);
            if (operationString != null) {
                operation = GoogleVertexAIOperations.valueOf(operationString);
            }
        }
        return operation;
    }
ID: 1035_887
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.add(final String uriTemplate, final CamelMethodHandler handler)
    public CamelPathTemplateHandler add(final String uriTemplate, final CamelMethodHandler handler) {
        lock.lock();
        try {
            delegate.add(uriTemplate, handler);
            handlers.put(uriTemplate, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #2751 Negative (Non-Clone)
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 765_691
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorIndexName(Exchange exchange)
    private String determineVectorIndexName(Exchange exchange) {
        String vectorIndexName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_INDEX_NAME, String.class);
        if (vectorIndexName == null) {
            vectorIndexName = getConfiguration().getVectorIndexName();
        }
        if (vectorIndexName == null) {
            throw new IllegalArgumentException("Vector index name must be specified");
        }
        return vectorIndexName;
    }
Pair #2752 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 1189_1019
ClassID: 1189
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.getNextEntry()
    private TarArchiveEntry getNextEntry() throws IOException {
        TarArchiveEntry entry;

        while ((entry = tarInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
Pair #2753 Negative (Non-Clone)
ID: 909_786
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerProducer.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerProducer.listSecrets(SecretManagerServiceClient client, Exchange exchange)
    private void listSecrets(SecretManagerServiceClient client, Exchange exchange) throws InvalidPayloadException {
        SecretManagerServiceClient.ListSecretsPagedResponse response;
        if (getConfiguration().isPojoRequest()) {
            ListSecretsRequest request = exchange.getIn().getMandatoryBody(ListSecretsRequest.class);
            response = client.listSecrets(request);
        } else {
            String projectId = getConfiguration().getProject();
            response = client.listSecrets(ProjectName.of(projectId));
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1499_1351
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeBasic(String flavor, String mimeType)
    public DocFlavor forMimeTypeBasic(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_HTML;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_HTML;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.CHAR_ARRAY")) {
                d = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.READER")) {
                d = DocFlavor.READER.TEXT_PLAIN;
            } else if (flavor.equalsIgnoreCase("DocFlavor.STRING")) {
                d = DocFlavor.STRING.TEXT_PLAIN;
            }
        }

        return d;
    }
Pair #2754 Negative (Non-Clone)
ID: 599_553
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);
        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }
        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Properties Function requires setting Token, Host, port and scheme properties");
        }
    }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #2755 Negative (Non-Clone)
ID: 1954_1591
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/InferenceProducer.java
Name: org.apache.camel.component.torchserve.producer.InferenceProducer.predictions(Exchange exchange)
    private void predictions(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        Object body = message.getBody(byte[].class);
        Object response;
        if (modelVersion == null) {
            response = this.inference.predictions(modelName, body);
        } else {
            response = this.inference.predictions(modelName, modelVersion, body);
        }
        message.setBody(response);
    }
ID: 2191_1729
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.detachVolumeToDroplet(Exchange exchange)
    private void detachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().detachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().detachVolume(dropletId, volumeId, region);
            LOG.trace("Detach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);

    }
Pair #2756 Negative (Non-Clone)
ID: 2026_1645
ClassID: 2026
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsServiceLocationHelper.java
Name: org.apache.camel.component.jms.JmsServiceLocationHelper.getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf)
    public static String getBrokerURLFromConnectionFactory(BeanIntrospection bi, ConnectionFactory cf) {
         
        if (cf == null) {
            return null;
        }
        Map<String, Object> props = new HashMap<>();
        bi.getProperties(cf, props, null, false);
        Object url = props.get("brokerURL");
        if (url != null) {
            return url.toString();
        } else {
             
            ConnectionFactory ncf = (ConnectionFactory) props.get("connectionFactory");
            if (ncf != null) {
                return getBrokerURLFromConnectionFactory(bi, ncf);
            }
        }
        return artemisBrokerURL(cf);
    }
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
Pair #2757 Negative (Non-Clone)
ID: 141_124
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.readValue(ASDUAddress asduAddress, InformationObjectAddress ioa)
    public boolean readValue(ASDUAddress asduAddress, InformationObjectAddress ioa) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot send read command: not connected or data module not initialized");
            return false;
        }
        try {
            ASDUHeader header = new ASDUHeader(
                    new CauseOfTransmission(StandardCause.REQUEST),
                    asduAddress);
            ReadCommand readCommand = new ReadCommand(header, ioa);

            client.writeCommand(readCommand);

            LOG.debug("Sent read command for ASDU address {} IOA {}", asduAddress, ioa);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to send read command", e);
            return false;
        }
    }
ID: 684_619
ClassID: 684
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/AbstractMicrometerProducer.java
Name: org.apache.camel.component.micrometer.AbstractMicrometerProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
Pair #2758 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 1550_1372
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslySetData(ProductionContext ctx)
    private OperationResult synchronouslySetData(ProductionContext ctx) throws Exception {

        SetDataOperation setData = new SetDataOperation(ctx.connection, ctx.node, ctx.payload);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
Pair #2759 Negative (Non-Clone)
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 12_8
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #2760 Negative (Non-Clone)
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
ID: 2354_1847
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration)
    private long determineWaitTimeout(final Exchange exchange, Athena2Configuration configuration) {
        Long waitTimeout = exchange.getIn().getHeader(Athena2Constants.WAIT_TIMEOUT, Long.class);

        if (ObjectHelper.isEmpty(waitTimeout)) {
            waitTimeout = configuration.getWaitTimeout();
            LOG.trace("AWS Athena wait timeout is missing, using default one [{}]", waitTimeout);
        }

        if (ObjectHelper.isEmpty(waitTimeout)) {
            throw new IllegalArgumentException("AWS Athena wait timeout required.");
        }

        if (waitTimeout < 0) {
            throw new IllegalArgumentException("AWS Athena wait timeout must be >= 0");
        }

        return waitTimeout;
    }
Pair #2761 Negative (Non-Clone)
ID: 2232_1757
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doClean(Exchange exchange, String operation)
    protected void doClean(Exchange exchange, String operation) throws GitAPIException {
        Set<String> result = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            result = git.clean().setCleanDirectories(true).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #2762 Negative (Non-Clone)
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
ID: 103_84
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateResourcePermission(Keycloak keycloakClient, Exchange exchange)
    private void updateResourcePermission(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        String permissionId = exchange.getIn().getHeader(KeycloakConstants.PERMISSION_ID, String.class);
        if (ObjectHelper.isEmpty(permissionId)) {
            throw new IllegalArgumentException("Permission ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof PolicyRepresentation) {
                 
                keycloakClient.realm(realmName).clients().get(clientUuid).authorization().policies().policy(permissionId)
                        .update((PolicyRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Permission updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update permission requires POJO request with PolicyRepresentation");
        }
    }
Pair #2763 Negative (Non-Clone)
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
ID: 2327_1835
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentLocationFromExchange(Exchange exchange)
    private DocumentLocation createDocumentLocationFromExchange(Exchange exchange) {
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isEmpty(s3Bucket) || ObjectHelper.isEmpty(s3Object)) {
            throw new IllegalArgumentException("S3 bucket and object must be specified for async operations");
        }

        S3Object.Builder s3ObjectBuilder = S3Object.builder()
                .bucket(s3Bucket)
                .name(s3Object);

        String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
        if (ObjectHelper.isEmpty(s3ObjectVersion)) {
            s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
        }
        if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
            s3ObjectBuilder.version(s3ObjectVersion);
        }

        return DocumentLocation.builder()
                .s3Object(s3ObjectBuilder.build())
                .build();
    }
Pair #2764 Negative (Non-Clone)
ID: 2470_1994
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction.getEndpointUri(Row r)
    protected String getEndpointUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1691_1415
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper() {

                    @Override
                    public CamelContext getCamelContext() {
                         
                         
                         
                         
                        return delegate.getOrLookupCamelContext();
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
Pair #2765 Negative (Non-Clone)
ID: 188_187
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortJob(Exchange exchange, AsyncCallback callback)
    private void processAbortJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 3228_2522
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.skipExpression(final String expression, final int number)
    public static Expression skipExpression(final String expression, final int number) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return skipIteratorExpression(exp, number).evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "skip(" + expression + "," + number + ")";
            }
        };
    }
Pair #2766 Negative (Non-Clone)
ID: 2571_2154
ClassID: 2571
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getPrimitiveType(String name)
    public static String getPrimitiveType(String name) {
         
        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
            return "string";
        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
            return "array";
        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
            return "array";
        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
            return "array";
        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
            return "string";
        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
            return "string";
        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
            return "boolean";
        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
            return "integer";
        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
            return "integer";
        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
            return "integer";
        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
            return "integer";
        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
            return "number";
        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
            return "number";
        }

        return null;
    }
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
Pair #2767 Negative (Non-Clone)
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
Pair #2768 Negative (Non-Clone)
ID: 684_619
ClassID: 684
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/AbstractMicrometerProducer.java
Name: org.apache.camel.component.micrometer.AbstractMicrometerProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
ID: 482_503
ClassID: 482
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getQName(final String name)
    public static QName getQName(final String name) {
        QName qName = null;
        if (name != null) {
            try {
                qName = QName.valueOf(name);
            } catch (Exception ex) {
                LOG.warn("Cannot create QName: {}", ex.getMessage(), ex);
            }
        }
        return qName;
    }
Pair #2769 Negative (Non-Clone)
ID: 2604_2231
ClassID: 2604
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
Name: org.apache.camel.util.StringHelper.afterLast(String text, String after)
    public static String afterLast(String text, String after) {
        if (text == null) {
            return null;
        }
        int pos = text.lastIndexOf(after);
        if (pos == -1) {
            return null;
        }
        return text.substring(pos + after.length());
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2770 Negative (Non-Clone)
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 2469_1993
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelProcessorAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "processor");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #2771 Negative (Non-Clone)
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
ID: 2472_2009
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListBlocked.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListBlocked.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("blocked");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.routeId = jo.getString("routeId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.routeId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
Pair #2772 Negative (Non-Clone)
ID: 2323_1828
ClassID: 2323
File: systems/camel-java/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
Name: org.apache.camel.component.aws2.ddb.QueryCommand.execute()
    public void execute() {
        QueryRequest.Builder query = QueryRequest.builder()
                .tableName(determineTableName())
                .consistentRead(determineConsistentRead())
                .keyConditions(determineKeyConditions())
                .exclusiveStartKey(determineExclusiveStartKey())
                .limit(determineLimit())
                .scanIndexForward(determineScanIndexForward());

         
        String indexName = determineIndexName();
        if (indexName != null) {
            query.indexName(indexName);
        }

         
        Collection<String> attributeNames = determineAttributeNames();
        if (attributeNames != null && !attributeNames.isEmpty()) {
            query.attributesToGet(attributeNames);
        }

        if (hasFilterExpression()) {
            query.filterExpression(determineFilterExpression());
        }

        if (hasFilterExpressionAttributeNames()) {
            query.expressionAttributeNames(determineFilterExpressionAttributeNames());
        }

        if (hasFilterExpressionAttributeValues()) {
            query.expressionAttributeValues(determineFilterExpressionAttributeValues());
        }

        if (hasProjectExpression()) {
            query.projectionExpression(determineProjectExpression());
        }

        QueryResponse result = ddbClient.query(query.build());

        Map<Object, Object> tmp = new HashMap<>();
        tmp.put(Ddb2Constants.ITEMS, result.items());
        tmp.put(Ddb2Constants.LAST_EVALUATED_KEY, result.hasLastEvaluatedKey() ? result.lastEvaluatedKey() : null);
        tmp.put(Ddb2Constants.IS_TRUNCATED, result.hasLastEvaluatedKey());
        tmp.put(Ddb2Constants.CONSUMED_CAPACITY, result.consumedCapacity());
        tmp.put(Ddb2Constants.COUNT, result.count());
        addToResults(tmp);
    }
ID: 188_193
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
    private void processGetUnprocessedRecords(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getUnprocessedRecords(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #2773 Negative (Non-Clone)
ID: 3217_2497
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodFallbackTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodFallbackTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, type, exchange, value, registry) : (T) ObjectHelper
                        .invokeMethod(method, instance, type, value, registry);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
Pair #2774 Negative (Non-Clone)
ID: 266_344
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobChunked(final String filePath, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobChunked(
            final String filePath,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadFromFileWithResponse(options, timeout, Context.NONE);
    }
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #2775 Negative (Non-Clone)
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #2776 Negative (Non-Clone)
ID: 757_678
ClassID: 757
File: systems/camel-java/components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java
Name: org.apache.camel.component.seda.QueueReference.addReference(SedaEndpoint endpoint)
    void addReference(SedaEndpoint endpoint) {
        lock.lock();
        try {
            if (!endpoints.contains(endpoint)) {
                endpoints.add(endpoint);
                 
                if (endpoint.isMultipleConsumers()) {
                    multipleConsumers = true;
                }
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1885_1552
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.setupVmProtocol()
    protected void setupVmProtocol() {
        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        connector = new VmPipeConnector();

         
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
        configureCodecFactory("MinaProducer", connector);
    }
Pair #2777 Negative (Non-Clone)
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 3231_2546
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.messageOgnlExpression(final String name, final String ognl)
    public static Expression messageOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object msg = exchange.getMessage(type);
                if (msg != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, msg, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "messageOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #2778 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 382_426
ClassID: 382
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQProducer.java
Name: org.apache.camel.component.rocketmq.RocketMQProducer.unInitReplyManager()
    protected void unInitReplyManager() {
        try {
            if (replyManager != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Stopping RocketMQReplyManager: {} from processing replies from : {}", replyManager,
                            getEndpoint().getReplyToTopic());
                }
                ServiceHelper.stopService(replyManager);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } finally {
            started.set(false);
        }
    }
Pair #2779 Negative (Non-Clone)
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
Pair #2780 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 15_15
ClassID: 15
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumerMode.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumerMode.getHazelcastOperation(String name)
    public static HazelcastQueueConsumerMode getHazelcastOperation(String name) {
        if (name == null) {
            return null;
        }
        for (HazelcastQueueConsumerMode hazelcastQueueConsumerMode : VALUES) {
            if (hazelcastQueueConsumerMode.toString().equalsIgnoreCase(name)
                    || hazelcastQueueConsumerMode.name().equalsIgnoreCase(name)) {
                return hazelcastQueueConsumerMode;
            }
        }
        throw new IllegalArgumentException(String.format("Mode '%s' is not supported by this component.", name));
    }
Pair #2781 Negative (Non-Clone)
ID: 2220_1739
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isEncryptionKey(PGPPublicKey key)
    private static boolean isEncryptionKey(PGPPublicKey key) {
        if (!key.isEncryptionKey()) {
            return false;
        }
         
        Boolean hasEncryptionKeyFlags
                = hasOneOfExpectedKeyFlags(key, new int[] { KeyFlags.ENCRYPT_COMMS, KeyFlags.ENCRYPT_STORAGE });
        if (hasEncryptionKeyFlags != null && !hasEncryptionKeyFlags) {
            LOG.debug(
                    "Public key with key key ID {} found for specified user ID. But this key will not be used for the encryption, because its key flags are not encryption key flags.",
                    key.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
ID: 2523_2091
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
Pair #2782 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #2783 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #2784 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #2785 Negative (Non-Clone)
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #2786 Negative (Non-Clone)
ID: 1187_1013
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #2787 Negative (Non-Clone)
ID: 3267_2634
ClassID: 3267
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
    public Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames) {
        if (packageNames == null) {
            return Collections.emptySet();
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Searching for annotations of {} in packages: {}", annotations, Arrays.asList(packageNames));
        }

        PackageScanFilter test = getCompositeFilter(new AnnotatedWithAnyPackageScanFilter(annotations, true));
        Set<Class<?>> classes = new LinkedHashSet<>();
        for (String pkg : packageNames) {
            find(test, pkg, classes);
        }

        LOG.debug("Found: {}", classes);

        return classes;
    }
ID: 2472_2005
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListGroovy.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListGroovy.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());

                        JsonObject jo = (JsonObject) root.get("groovy");
                        if (jo != null) {
                            jo = (JsonObject) jo.get("compiler");
                        }
                        if (jo != null) {
                            row = row.copy();
                            row.compiledCounter = jo.getInteger("compiledCounter");
                            row.preloaddCounter = jo.getInteger("preloadedCounter");
                            row.classesSize = jo.getInteger("classesSize");
                            row.time = jo.getLong("compiledTime");
                            row.last = jo.getLong("lastCompilationTimestamp");
                            row.compiledClasses.clear();
                            JsonArray arr = jo.getCollection("classes");
                            for (int i = 0; arr != null && i < arr.size(); i++) {
                                row.compiledClasses.add(arr.getString(i));
                            }
                            rows.add(row);
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("PRELOAD").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.preloaddCounter),
                    new Column().header("COMPILE").headerAlign(HorizontalAlign.CENTER).with(r -> "" + r.compiledCounter),
                    new Column().header("TIME").headerAlign(HorizontalAlign.CENTER).with(this::getTime),
                    new Column().header("SINCE").headerAlign(HorizontalAlign.CENTER).with(this::getLast),
                    new Column().header("CLASSES").headerAlign(HorizontalAlign.LEFT).dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(60, OverflowBehaviour.ELLIPSIS_LEFT).with(this::getClasses))));
        }

        return 0;
    }
Pair #2788 Negative (Non-Clone)
ID: 3244_2575
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertHeaderReifier.java
Name: org.apache.camel.reifier.ConvertHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertHeaderProcessor answer
                = new ConvertHeaderProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #2789 Negative (Non-Clone)
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #2790 Negative (Non-Clone)
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #2791 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 376_410
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, String replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            String replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
Pair #2792 Negative (Non-Clone)
ID: 189_206
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetAllBatches(final Exchange exchange, final AsyncCallback callback)
    private void processGetAllBatches(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getAllBatches(jobId, determineHeaders(exchange), new BulkApiClient.BatchInfoListResponseCallback() {
            @Override
            public void onResponse(List<BatchInfo> batchInfoList, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfoList, headers, ex, callback);
            }
        });
    }
ID: 188_197
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportInstances(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportInstances(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportInstances(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportInstanceListResponseCallback() {
                    @Override
                    public void onResponse(
                            List<ReportInstance> reportInstances, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportInstances, headers, ex, callback);
                    }
                });
    }
Pair #2793 Negative (Non-Clone)
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #2794 Negative (Non-Clone)
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #2795 Negative (Non-Clone)
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #2796 Negative (Non-Clone)
ID: 1644_1406
ClassID: 1644
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), UTF8));
                try {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        tokenize(packages, line);
                    }
                } finally {
                    IOHelper.close(reader, null, LOG);
                }
            }
        }
    }
ID: 2468_1987
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc != null ? loc : "";
    }
Pair #2797 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 893_742
ClassID: 893
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConnectionFactory.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.getDefaultClient()
    public BigQuery getDefaultClient() throws Exception {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = buildClient();
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #2798 Negative (Non-Clone)
ID: 2597_2202
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDouble(final String key)
    public Double getDouble(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #2799 Negative (Non-Clone)
ID: 305_369
ClassID: 305
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        if (path == null) {
            LOG.warn("The provided path is null and has no parameters to be evaluated");
            return Collections.emptyList();
        }

        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 444_471
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketStringDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketStringDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(payload.toString(charset), msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
Pair #2800 Negative (Non-Clone)
ID: 2233_1760
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPush(Exchange exchange, String operation)
    protected void doPush(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 3224_2513
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createIncExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createIncExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val++;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #2801 Negative (Non-Clone)
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
Pair #2802 Negative (Non-Clone)
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 1138_979
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            this.lastSha = exchange.getMessage().getHeader(GitHubConstants.GITHUB_COMMIT_SHA, String.class);
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #2803 Negative (Non-Clone)
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #2804 Negative (Non-Clone)
ID: 1810_1494
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCreateContainerRequest(DockerClient client, Message message)
    private CreateContainerCmd executeCreateContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Create Container Request");

        String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);

        ObjectHelper.notNull(image, "Image must be specified");

        CreateContainerCmd createContainerCmd = client.createContainerCmd(image);
        createContainerCmd.withHostConfig(newHostConfig());

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            createContainerCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            createContainerCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            createContainerCmd.withAttachStdout(attachStdOut);
        }

        Capability[] capAdd = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_ADD, message, Capability.class);

        if (capAdd != null) {
            createContainerCmd.getHostConfig().withCapAdd(capAdd);
        }

        Capability[] capDrop = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_DROP, message, Capability.class);

        if (capDrop != null) {
            createContainerCmd.getHostConfig().withCapDrop(capDrop);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            createContainerCmd.withCmd(cmd);
        }

        Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);

        if (cpuShares != null) {
            createContainerCmd.getHostConfig().withCpuShares(cpuShares);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            createContainerCmd.withNetworkDisabled(disableNetwork);
        }

        String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);

        if (dns != null) {
            createContainerCmd.getHostConfig().withDns(dns);
        }

        String domainName = DockerHelper.getProperty(DockerConstants.DOCKER_DOMAIN_NAME, configuration, message, String.class);

        if (domainName != null) {
            createContainerCmd.withDomainName(domainName);
        }

        String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (env != null) {
            createContainerCmd.withEnv(env);
        }

        String[] entrypoint = DockerHelper.getArrayProperty(DockerConstants.DOCKER_ENTRYPOINT, message, String.class);

        if (entrypoint != null) {
            createContainerCmd.withEntrypoint(entrypoint);
        }

        ExposedPort[] exposedPorts
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);

        if (exposedPorts != null) {
            createContainerCmd.withExposedPorts(exposedPorts);
        }

        HostConfig hostConfig
                = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_CONFIG, configuration, message, HostConfig.class);

        if (hostConfig != null) {
            createContainerCmd.withHostConfig(hostConfig);
        }

        String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostName != null) {
            createContainerCmd.withHostName(hostName);
        }

        Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);

        if (memoryLimit != null) {
            createContainerCmd.getHostConfig().withMemory(memoryLimit);
        }

        Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);

        if (memorySwap != null) {
            createContainerCmd.getHostConfig().withMemorySwap(memorySwap);
        }

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        if (name != null) {
            createContainerCmd.withName(name);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            createContainerCmd.withPortSpecs(portSpecs);
        }

        Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);

        if (stdInOpen != null) {
            createContainerCmd.withStdinOpen(stdInOpen);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            createContainerCmd.withStdInOnce(stdInOnce);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            createContainerCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            createContainerCmd.withUser(user);
        }

        Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);

        if (volume != null) {
            createContainerCmd.withVolumes(volume);
        }

        Bind[] binds = DockerHelper.getArrayProperty(DockerConstants.DOCKER_BINDS, message, Bind.class);

        if (binds != null) {
            createContainerCmd.getHostConfig().withBinds(binds);
        }

        VolumesFrom[] volumesFrom
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES_FROM, message, VolumesFrom.class);

        if (volumesFrom != null) {
            createContainerCmd.getHostConfig().withVolumesFrom(volumesFrom);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            createContainerCmd.withWorkingDir(workingDir);
        }

        return createContainerCmd;

    }
ID: 979_833
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa3_0(long old0, long active0)
private int jjMoveStringLiteralDfa3_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(1, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(2, active0);
      return 3;
   }
   switch(curChar)
   {
      case 32:
         if ((active0 & 0x4L) != 0L)
            return jjStopAtPos(3, 2);
         break;
      case 85:
         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(2, active0);
}
Pair #2805 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
Pair #2806 Negative (Non-Clone)
ID: 1187_1014
ClassID: 1187
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.hasNext()
    public boolean hasNext() {
        try {
            if (tarInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = tarInputStream.getCurrentEntry() != null && tarInputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    tarInputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
                if (first && parent == null) {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 1939_1590
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doStart()
    protected void doStart() throws Exception {
        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
Pair #2807 Negative (Non-Clone)
ID: 1721_1439
ClassID: 1721
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(ElasticsearchConstants.PROPERTY_SCROLL_ES_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #2808 Negative (Non-Clone)
ID: 658_586
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/DomainProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.DomainProducer.messageToDomain(Message message)
    private Domain messageToDomain(Message message) {
        Domain domain = message.getBody(Domain.class);
        if (domain == null) {
            Map<String, Object> headers = message.getHeaders();
            DomainBuilder builder = Builders.domain();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            domain = builder.build();
        }

        return domain;
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2809 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 1322_1231
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doDelete(Exchange exchange, String namespaceName)
    protected void doDelete(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            LOG.error("Deleting a specific custom resource require specify a custom resource name");
            throw new IllegalArgumentException("Deleting a specific custom resource require specify a custom resource name");
        }

        try {
            List<StatusDetails> statusDetails
                    = getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName).withName(customResourceName).delete();

            boolean deleted = ObjectHelper.isNotEmpty(statusDetails);
            exchange.getMessage().setHeader(KubernetesConstants.KUBERNETES_DELETE_RESULT, deleted);
        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

    }
Pair #2810 Negative (Non-Clone)
ID: 3294_2699
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactorySSLSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLSocket>> getSSLSocketFactorySSLSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLSocket> sslSocketConfigurer = new Configurer<>() {

            @Override
            public SSLSocket configure(SSLSocket socket) {

                if (!getSNIHostNames().isEmpty()) {
                    SSLParameters sslParameters = socket.getSSLParameters();
                    sslParameters.setServerNames(getSNIHostNames());
                    socket.setSSLParameters(sslParameters);
                }

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSSLParameters().getCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);
                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSSLParameters().getCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSSLParameters().getProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSSLParameters().getProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLSocket>> sslSocketConfigurers = new LinkedList<>();
        sslSocketConfigurers.add(sslSocketConfigurer);

        return sslSocketConfigurers;
    }
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
Pair #2811 Negative (Non-Clone)
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 3204_2467
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerDoneEvent()
    private void triggerDoneEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max messages triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask)
                    .start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max messages triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask)
                    .start();
        }
    }
Pair #2812 Negative (Non-Clone)
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
Pair #2813 Negative (Non-Clone)
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #2814 Negative (Non-Clone)
ID: 1809_1491
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeTagImageRequest(DockerClient client, Message message)
    private TagImageCmd executeTagImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Tag Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        String repository = DockerHelper.getProperty(DockerConstants.DOCKER_REPOSITORY, configuration, message, String.class);

        String tag = DockerHelper.getProperty(DockerConstants.DOCKER_TAG, configuration, message, String.class);

        if (imageId == null || repository == null || tag == null) {
            throw new IllegalArgumentException("ImageId, repository and tag must be specified");
        }

        TagImageCmd tagImageCmd = client.tagImageCmd(imageId, repository, tag);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            tagImageCmd.withForce(force);
        }

        return tagImageCmd;

    }
ID: 3246_2579
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean.getObject()
    public ProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultProducerTemplate(context, endpoint);
            }
        } else {
            template = new DefaultProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
Pair #2815 Negative (Non-Clone)
ID: 337_380
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.autoCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult autoCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
        CommitSynchronization commitSynchronization = new CommitSynchronization(exceptionHandler, exchanges.size());
        exchange.getExchangeExtension().addOnCompletion(commitSynchronization);
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
             
             
            if (configuration.isBreakOnFirstError()) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
             
        }
        return ProcessingResult.newUnprocessed();
    }
ID: 2666_2350
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);

        sb.append("setVariables[");
        int variableIndex = 0;
        for (Expression expression : expressions) {
            if (variableIndex > 0) {
                sb.append("; ");
            }
            sb.append(variableNames.get(variableIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #2816 Negative (Non-Clone)
ID: 1806_1473
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client)
    private void runAsyncWaitContainer(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (WaitContainerCmd cmd = executeWaitContainerRequest(client, message)) {
            WaitContainerResultCallback item = cmd.exec(new WaitContainerResultCallback() {
                @Override
                public void onNext(WaitResponse item) {
                    super.onNext(item);

                    LOG.trace("wait container callback {}", item);
                }

            });

            setResponse(exchange, item);
        }
    }
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
Pair #2817 Negative (Non-Clone)
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 2386_1878
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onTopic(String channel, IRCUser user, String topic)
        public void onTopic(String channel, IRCUser user, String topic) {
            if (configuration.isOnTopic()) {
                Exchange exchange = createOnTopicExchange(channel, user, topic);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #2818 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 193_218
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQueryAll(final Exchange exchange, final AsyncCallback callback)
    private void processQueryAll(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.queryAll(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #2819 Negative (Non-Clone)
ID: 2609_2242
ClassID: 2609
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        ObjectHelper.notNull(clazz, "Class must not be null");
        ObjectHelper.notNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2558_2130
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteCSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelCSimpleExpressionDetails> csimpleExpressions)
    public static void parseXmlRouteCSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelCSimpleExpressionDetails> csimpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "csimple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                 
                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelCSimpleExpressionDetails detail = new CamelCSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setCsimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                csimpleExpressions.add(detail);
            }
        }
    }
Pair #2820 Negative (Non-Clone)
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #2821 Negative (Non-Clone)
ID: 1916_1583
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!cache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                persistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(cache.getName());
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistedCache.getName());

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception exception) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, exception);
                    throw new RuntimeCamelException(msg, exception);
                }
            } else {
                cache.remove(key);
            }
        }
    }
ID: 1863_1533
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
Pair #2822 Negative (Non-Clone)
ID: 757_679
ClassID: 757
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketResultHandler.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketResultHandler.onResult(String connectionKey)
    void onResult(String connectionKey) {
        lock.lock();
        try {
            connectionKeys.remove(connectionKey);
            if (connectionKeys.isEmpty()) {
                onComplete();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
Pair #2823 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #2824 Negative (Non-Clone)
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
Pair #2825 Negative (Non-Clone)
ID: 1694_1422
ClassID: 1694
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (Exception ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        }
    }
ID: 3257_2612
ClassID: 3257
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
Name: org.apache.camel.support.cluster.AbstractCamelClusterService.startView(String namespace)
    public void startView(String namespace) throws Exception {
        LockHelper.doWithWriteLockT(
                lock,
                () -> {
                    ViewHolder<T> holder = views.get(namespace);

                    if (holder != null) {
                        LOG.info("Force start of view {}", namespace);
                        holder.startView();
                    } else {
                        LOG.warn("Error forcing start of view {}: it does not exist", namespace);
                    }
                });
    }
Pair #2826 Negative (Non-Clone)
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
Pair #2827 Negative (Non-Clone)
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #2828 Negative (Non-Clone)
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
ID: 375_406
ClassID: 375
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsConsumer.java
Name: org.apache.camel.component.sjms.SjmsConsumer.doStop()
    protected void doStop() throws Exception {
        if (listenerContainer != null) {

            if (getEndpoint().isAsyncStopListener()) {
                getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            stopAndDestroyListenerContainer();
                        } catch (Exception e) {
                            LOG.warn("Error stopping listener container on destination: {}. This exception will be ignored.",
                                    getDestinationName(), e);
                        }
                    }

                    @Override
                    public String toString() {
                        return "AsyncStopListenerTask[" + getDestinationName() + "]";
                    }
                });
            } else {
                stopAndDestroyListenerContainer();
            }
        }

        super.doStop();
    }
Pair #2829 Negative (Non-Clone)
ID: 877_726
ClassID: 877
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyCsvFactory.java
Name: org.apache.camel.dataformat.bindy.BindyCsvFactory.initCsvRecordParameters()
    private void initCsvRecordParameters() {
        if (separator == null) {
            for (Class<?> cl : models) {

                 
                CsvRecord csvRecord = cl.getAnnotation(CsvRecord.class);

                 
                Section section = cl.getAnnotation(Section.class);

                if (csvRecord != null) {
                    LOG.debug("Csv record: {}", csvRecord);

                     
                    skipFirstLine = csvRecord.skipFirstLine();
                    LOG.debug("Skip First Line parameter of the CSV: {}", skipFirstLine);

                     
                    skipField = csvRecord.skipField();
                    LOG.debug("Skip Field parameter of the CSV: {}", skipField);

                     
                    generateHeaderColumnNames = csvRecord.generateHeaderColumns();
                    LOG.debug("Generate header column names parameter of the CSV: {}", generateHeaderColumnNames);

                     
                    org.apache.camel.util.ObjectHelper.notNull(csvRecord.separator(),
                            "No separator has been defined in the @Record annotation");
                    separator = csvRecord.separator();
                    LOG.debug("Separator defined for the CSV: {}", separator);

                     
                    crlf = csvRecord.crlf();
                    LOG.debug("Carriage return defined for the CSV: {}", crlf);

                     
                    messageOrdered = csvRecord.isOrdered();
                    LOG.debug("Must CSV record be ordered: {}", messageOrdered);

                    if (org.apache.camel.util.ObjectHelper.isNotEmpty(csvRecord.quote())) {
                        quote = csvRecord.quote();
                        LOG.debug("Quoting columns with: {}", quote);
                    }

                    quoting = csvRecord.quoting();
                    LOG.debug("CSV will be quoted: {}", quoting);

                    autospanLine = csvRecord.autospanLine();
                    LOG.debug("Autospan line in last record: {}", autospanLine);

                     
                    allowEmptyStream = csvRecord.allowEmptyStream();
                    LOG.debug("Allow empty stream parameter of the CSV: {}", allowEmptyStream);

                     
                    quotingEscaped = csvRecord.quotingEscaped();
                    LOG.debug("Escape quote character flag of the CSV: {}", quotingEscaped);

                     
                    quotingOnlyWhenNeeded = csvRecord.quotingOnlyWhenNeeded();
                    LOG.debug("Quoting only when needed: {}", quotingOnlyWhenNeeded);

                     
                    endWithLineBreak = csvRecord.endWithLineBreak();
                    LOG.debug("End with line break: {}", endWithLineBreak);

                    removeQuotes = csvRecord.removeQuotes();
                    LOG.debug("Remove quotes: {}", removeQuotes);

                    trimLine = csvRecord.trimLine();
                    LOG.debug("Trim line: {}", trimLine);
                }

                if (section != null) {
                     
                    org.apache.camel.util.ObjectHelper.notNull(section.number(), "No number has been defined for the section");

                     
                    sections.put(cl.getName(), section.number());
                }
            }
        }
    }
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
Pair #2830 Negative (Non-Clone)
ID: 829_710
ClassID: 829
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompilationException.java
Name: org.apache.camel.language.joor.JoorCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
Pair #2831 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 1783_1464
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.disconnect(HttpConsumer consumer)
    public void disconnect(HttpConsumer consumer) throws Exception {
         
        HttpCommonEndpoint endpoint = consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.computeIfPresent(connectorKey, (cKey, connectorRef) -> {
                try {
                    return disconnect(consumer, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #2832 Negative (Non-Clone)
ID: 449_477
ClassID: 449
File: systems/camel-java/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jProducer.java
Name: org.apache.camel.component.web3j.Web3jProducer.ethNewFilter(Message message)
    void ethNewFilter(Message message) throws IOException {
        DefaultBlockParameter fromBlock = toDefaultBlockParameter(
                message.getHeader(Web3jConstants.FROM_BLOCK, configuration::getFromBlock, String.class));
        DefaultBlockParameter toBlock
                = toDefaultBlockParameter(message.getHeader(Web3jConstants.TO_BLOCK, configuration::getToBlock, String.class));
        List<String> addresses = message.getHeader(Web3jConstants.ADDRESSES, configuration::getAddresses, List.class);
        List<String> topics = message.getHeader(Web3jConstants.TOPICS, configuration::getTopics, List.class);

        org.web3j.protocol.core.methods.request.EthFilter ethFilter
                = Web3jEndpoint.buildEthFilter(fromBlock, toBlock, addresses, topics);

        Request<?, EthFilter> request = web3j.ethNewFilter(ethFilter);
        setRequestId(message, request);
        EthFilter response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getFilterId());
        }
    }
ID: 837_720
ClassID: 837
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
Pair #2833 Negative (Non-Clone)
ID: 1548_1369
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Starting ZooKeeper Curator with namespace '{}', nodes: '{}'",
                        configuration.getNamespace(),
                        String.join(",", configuration.getNodes()));
            }

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #2834 Negative (Non-Clone)
ID: 1216_1040
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        String message = fault.getFaultstring();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getFaultcode()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 2666_2350
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);

        sb.append("setVariables[");
        int variableIndex = 0;
        for (Expression expression : expressions) {
            if (variableIndex > 0) {
                sb.append("; ");
            }
            sb.append(variableNames.get(variableIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #2835 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 2600_2218
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
        boolean isFirstElement = true;
        final Iterator<Object> elements = this.iterator();
        writable.write('[');
        while (elements.hasNext()) {
            if (isFirstElement) {
                isFirstElement = false;
            } else {
                writable.write(',');
            }
            Jsoner.serialize(elements.next(), writable);
        }
        writable.write(']');
    }
Pair #2836 Negative (Non-Clone)
ID: 2451_1940
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findLanguageNames()) {
            LanguageModel model = catalog.languageModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = fixQuarkusSince(model.getFirstVersionShort());
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
ID: 1985_1630
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        Object memoryId = aiAgentBody.getMemoryId();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, content, systemMessage)
                    : agentService.chat(memoryId, userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(memoryId, userMessage, systemMessage)
                    : agentService.chat(memoryId, userMessage);
        }
    }
Pair #2837 Negative (Non-Clone)
ID: 1059_907
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.XMLSecurityDataFormat()
    public XMLSecurityDataFormat() {
        this.xmlCipherAlgorithm = XMLCipher.AES_256_GCM;
        this.secureTag = "";
        this.secureTagContents = true;

         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
ID: 1689_1408
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteContextFactoryBean) {
                CamelRouteContextFactoryBean factoryBean = (CamelRouteContextFactoryBean) value;
                builder.addPropertyValue("routes", factoryBean.getRoutes());
            }

             
            injectNamespaces(element, binder);
        }
Pair #2838 Negative (Non-Clone)
ID: 3221_2507
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/DoubleQuoteStart.java
Name: org.apache.camel.language.simple.ast.DoubleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
ID: 217_235
ClassID: 217
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            invokeOperation(configurationOptionsProxy.getOperation(exchange), exchange, callback);
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2839 Negative (Non-Clone)
ID: 406_436
ClassID: 406
File: systems/camel-java/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
Name: org.apache.camel.component.couchdb.CouchDbEndpoint.CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component)
    public CouchDbEndpoint(String endpointUri, String remaining, CouchDbComponent component) throws Exception {
        super(endpointUri, component);

        URI uri = new URI(remaining);

        protocol = uri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }

        port = uri.getPort() == -1 ? DEFAULT_PORT : uri.getPort();

        if (uri.getPath() == null || uri.getPath().isBlank()) {
            throw new IllegalArgumentException(URI_ERROR);
        }
        database = uri.getPath().substring(1);

        hostname = uri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(URI_ERROR);
        }
    }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #2840 Negative (Non-Clone)
ID: 657_581
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
Name: org.apache.camel.component.openstack.cinder.CinderEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case CinderConstants.VOLUMES:
                return new VolumeProducer(this, createClient());
            case CinderConstants.SNAPSHOTS:
                return new SnapshotProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #2841 Negative (Non-Clone)
ID: 1862_1531
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #2842 Negative (Non-Clone)
ID: 2579_2172
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            if (isFailFast()) {
                throw new MojoExecutionException("Failed build due failFast=true");
            }
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 3248_2591
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupHealthCheckRegistry()
    private void setupHealthCheckRegistry() {
        HealthCheckRegistry healthCheckRegistry = getBeanForType(HealthCheckRegistry.class);
        if (healthCheckRegistry != null) {
            healthCheckRegistry.setCamelContext(getContext());
            LOG.debug("Using HealthCheckRegistry: {}", healthCheckRegistry);
            getContext().getCamelContextExtension().addContextPlugin(HealthCheckRegistry.class, healthCheckRegistry);
        } else {
             
            healthCheckRegistry = HealthCheckRegistry.get(getContext());
            if (healthCheckRegistry != null) {
                healthCheckRegistry.setCamelContext(getContext());
            }
        }
        if (healthCheckRegistry != null) {
             
            Set<HealthCheckRepository> repositories = getContext().getRegistry().findByType(HealthCheckRepository.class);
            if (org.apache.camel.util.ObjectHelper.isNotEmpty(repositories)) {
                for (HealthCheckRepository repository : repositories) {
                    healthCheckRegistry.register(repository);
                }
            }
        }
    }
Pair #2843 Negative (Non-Clone)
ID: 2665_2348
ClassID: 2665
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.closeListeners(Exchange exchange, String message)
    private void closeListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                listener.afterLog(exchange, logger, message);
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
    }
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #2844 Negative (Non-Clone)
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
Pair #2845 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 2573_2158
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
Name: org.apache.camel.maven.packaging.PackageLanguageMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #2846 Negative (Non-Clone)
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
Pair #2847 Negative (Non-Clone)
ID: 1855_1512
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair in AWS Secrets Manager: {}", metadata);
        return keyPair;
    }
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
Pair #2848 Negative (Non-Clone)
ID: 1428_1281
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/AS2DispositionType.java
Name: org.apache.camel.component.as2.api.entity.AS2DispositionType.parseDispositionType(String dispositionTypeString)
    public static AS2DispositionType parseDispositionType(String dispositionTypeString) {
        switch (dispositionTypeString) {
            case "processed":
                return PROCESSED;
            case "failed":
                return FAILED;
            default:
                return null;
        }
    }
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #2849 Negative (Non-Clone)
ID: 2349_1846
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
Pair #2850 Negative (Non-Clone)
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #2851 Negative (Non-Clone)
ID: 2457_1955
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));
        answer.removeIf(s -> s.contains("camel-microprofile-health"));

        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-quarkus:" + hawtioVersion);
        }

        return answer;
    }
ID: 380_422
ClassID: 380
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQSendDynamicAware.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQSendDynamicAware.parseExchangeName(String uri)
    private String parseExchangeName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #2852 Negative (Non-Clone)
ID: 1428_1281
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/AS2DispositionType.java
Name: org.apache.camel.component.as2.api.entity.AS2DispositionType.parseDispositionType(String dispositionTypeString)
    public static AS2DispositionType parseDispositionType(String dispositionTypeString) {
        switch (dispositionTypeString) {
            case "processed":
                return PROCESSED;
            case "failed":
                return FAILED;
            default:
                return null;
        }
    }
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #2853 Negative (Non-Clone)
ID: 1449_1306
ClassID: 1449
File: systems/camel-java/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIOErrorHandler.java
Name: org.apache.camel.dataformat.beanio.BeanIOErrorHandler.unidentifiedRecord(UnidentifiedRecordException ex)
    public void unidentifiedRecord(UnidentifiedRecordException ex) throws Exception {
        String msg = LOG_PREFIX + "UnidentifiedRecord: " + ex.getMessage() + ": " + ex.getRecordContext().getRecordText();
        if (getConfiguration().isIgnoreUnidentifiedRecords()) {
            LOG.debug(msg);
        } else {
            LOG.warn(msg);
            throw ex;
        }
    }
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
Pair #2854 Negative (Non-Clone)
ID: 112_103
ClassID: 112
File: systems/camel-java/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpComponent.java
Name: org.apache.camel.component.platform.http.PlatformHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "platform-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
Pair #2855 Negative (Non-Clone)
ID: 3271_2641
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty() && isLenientProperties()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
             
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                boolean accept = knownProperties.contains(k);
                 
                 
                if (!accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().anyMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v);
                }
            });
        } else {
            properties = map;
        }

        return properties;
    }
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
Pair #2856 Negative (Non-Clone)
ID: 1783_1464
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.disconnect(HttpConsumer consumer)
    public void disconnect(HttpConsumer consumer) throws Exception {
         
        HttpCommonEndpoint endpoint = consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.computeIfPresent(connectorKey, (cKey, connectorRef) -> {
                try {
                    return disconnect(consumer, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #2857 Negative (Non-Clone)
ID: 2380_1871
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(String[] array1, String[] array2)
    public static String[] concat(String[] array1, String[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        String[] array = new String[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 910_790
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void updateFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            UpdateFunctionRequest request = exchange.getIn().getMandatoryBody(UpdateFunctionRequest.class);
            response = client.updateFunctionAsync(request).get();
        } else {
            throw new IllegalArgumentException("updateFunction is supported only in pojo mode");
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #2858 Negative (Non-Clone)
ID: 2245_1768
ClassID: 2245
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/cluster/InfinispanRemoteClusterView.java
Name: org.apache.camel.component.infinispan.remote.cluster.InfinispanRemoteClusterView.isLeader(String id)
    protected boolean isLeader(String id) {
        if (this.cache == null) {
            return false;
        }
        if (id == null) {
            return false;
        }

        final String key = InfinispanClusterService.LEADER_KEY;
        final String val = this.cache.get(key);

        return Objects.equals(id, val);
    }
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #2859 Negative (Non-Clone)
ID: 125_115
ClassID: 125
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.buildResilience4jConfiguration()
    Resilience4jConfigurationDefinition buildResilience4jConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(Resilience4jConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getResilience4jConfiguration(null),
                () -> lookupByNameAndType(ResilienceConstants.DEFAULT_RESILIENCE_CONFIGURATION_ID,
                        Resilience4jConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getResilience4jConfiguration(ref),
                    () -> mandatoryLookup(ref, Resilience4jConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getResilience4jConfiguration()), configurer);

         
        Resilience4jConfigurationDefinition config = new Resilience4jConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
ID: 2586_2187
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateComponentConfigurer(UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateComponentConfigurer(
            UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel,
            ComponentModel parentData) {

        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }
        String pfqn;
        boolean hasSuper;

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
             
            pfqn = parentData.getJavaType() + "Configurer";
            hasSuper = true;
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
            parentData = null;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqComponentClassName = componentModel.getJavaType();
        String componentClassName = fqComponentClassName.substring(fqComponentClassName.lastIndexOf('.') + 1);
        String className = componentClassName + "Configurer";
        String packageName = fqComponentClassName.substring(0, fqComponentClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<ComponentOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getComponentOptions().stream()
                    .map(ComponentOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getComponentOptions().stream().filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getComponentOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, componentClassName,
                pfqn, psn,
                componentModel.getScheme() + "-component", hasSuper, true,
                options, componentModel);
    }
Pair #2860 Negative (Non-Clone)
ID: 2453_1948
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getSupportLevel(Object kamelet)
    private static String getSupportLevel(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getAnnotations");
        @SuppressWarnings("unchecked")
        Map<String, String> anns = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (anns != null) {
            return anns.get("camel.apache.org/kamelet.support.level");
        }
        return null;
    }
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
Pair #2861 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 2582_2179
ClassID: 2582
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/GenericsUtil.java
Name: org.apache.camel.maven.packaging.generics.GenericsUtil.getIndex(GenericDeclaration declaration, TypeVariable<?> variable)
    private static int getIndex(GenericDeclaration declaration, TypeVariable<?> variable) {
        Type[] typeParameters = declaration.getTypeParameters();
        for (int i = 0; i < typeParameters.length; i++) {
            if (typeParameters[i] instanceof TypeVariable) {
                TypeVariable<?> variableArgument = (TypeVariable<?>) typeParameters[i];
                if (variableArgument.getName().equals(variable.getName())) {
                    return i;
                }
            }
        }
        return -1;
    }
Pair #2862 Negative (Non-Clone)
ID: 1957_1594
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.deleteByIds(Exchange exchange)
    private void deleteByIds(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        DeleteResponse result
                = index.deleteByIds(elements);

        populateDeleteResponse(result, exchange);
    }
ID: 923_797
ClassID: 923
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.send(Exchange exchange)
    private void send(Exchange exchange) throws Exception {

        GooglePubsubLiteEndpoint endpoint = (GooglePubsubLiteEndpoint) getEndpoint();
        String topicName = String.format("projects/%s/locations/%s/topics/%s", endpoint.getProjectId(), endpoint.getLocation(),
                endpoint.getDestinationName());

        Publisher publisher = endpoint.getComponent().getPublisher(topicName, endpoint);

        Object body = exchange.getMessage().getBody();
        ByteString byteString;

        if (body instanceof String) {
            byteString = ByteString.copyFromUtf8((String) body);
        } else if (body instanceof byte[]) {
            byteString = ByteString.copyFrom((byte[]) body);
        } else {
            byteString = ByteString.copyFrom(endpoint.getSerializer().serialize(body));
        }

        PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(byteString);
        Map<String, String> attributes = exchange.getMessage().getHeader(ATTRIBUTES, Map.class);
        if (attributes != null) {
            for (Map.Entry<String, String> attribute : attributes.entrySet()) {
                if (!attribute.getKey().startsWith(RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX)) {
                    messageBuilder.putAttributes(attribute.getKey(), attribute.getValue());
                }
            }
        }
        String orderingKey = exchange.getMessage().getHeader(ORDERING_KEY, String.class);
        if (orderingKey != null) {
            messageBuilder.setOrderingKey(orderingKey);
        }

        PubsubMessage message = messageBuilder.build();

        ApiFuture<String> messageIdFuture = publisher.publish(message);
        exchange.getMessage().setHeader(GooglePubsubLiteConstants.MESSAGE_ID, messageIdFuture.get());
    }
Pair #2863 Negative (Non-Clone)
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
Pair #2864 Negative (Non-Clone)
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #2865 Negative (Non-Clone)
ID: 2637_2273
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBodyNoWait(String endpointUri, Class<T> type)
    public <T> T receiveBodyNoWait(String endpointUri, Class<T> type) {
        Object answer;
        Exchange exchange = receiveNoWait(endpointUri);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
Pair #2866 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
Pair #2867 Negative (Non-Clone)
ID: 781_708
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeUrl(Exchange exchange)
    private void analyzeUrl(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String url = exchange.getIn().getHeader(WatsonLanguageConstants.URL, String.class);
        if (url == null) {
            url = exchange.getIn().getBody(String.class);
        }

        if (url == null || url.isBlank()) {
            throw new IllegalArgumentException("URL to analyze must be specified");
        }

        LOG.trace("Analyzing URL with NLU: {}", url);

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .url(url)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
Pair #2868 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 1130_962
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.addConsumer(String key, DirectConsumer consumer)
    public void addConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            if (consumers.putIfAbsent(key, consumer) != null) {
                throw new IllegalArgumentException(
                        "Cannot add a 2nd consumer to the same endpoint: " + key
                                                   + ". DirectEndpoint only allows one consumer.");
            }
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #2869 Negative (Non-Clone)
ID: 1557_1376
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    doStart();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the startup connection poller thread.", e);
                }
            }
        };
        LOG.info("Delaying XMPP consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(endpoint.getEndpointUri()), endpoint.getConnectionPollDelay());
        getExecutor().schedule(startRunnable, endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #2870 Negative (Non-Clone)
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #2871 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 2505_2053
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter)
    public static List<FieldInfo> fields(IndexView view, ClassInfo type, Predicate<FieldInfo> filter) {
        List<FieldInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (FieldInfo fieldInfo : current.fields()) {
                if (filter.test(fieldInfo)) {
                    answer.add(fieldInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #2872 Negative (Non-Clone)
ID: 3166_2428
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.enableById(String id)
    public void enableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(true);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(true));
        }
    }
ID: 12_7
ClassID: 12
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getValue(final Message message, final String type)
    private Object getValue(final Message message, final String type) throws Exception {
        Object value = message.getHeader(CaffeineConstants.VALUE);
        if (value == null) {
            if (type != null) {
                Class<?> clazz = getEndpoint().getCamelContext().getClassResolver().resolveClass(type);
                value = message.getBody(clazz);
            } else {
                value = message.getBody();
            }
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or body (" + CaffeineConstants.VALUE + ")", message.getExchange());
        }

        return value;
    }
Pair #2873 Negative (Non-Clone)
ID: 2448_1933
ClassID: 2448
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.RunHelper.walk(Path dir)
    public static Stream<Path> walk(Path dir) {
        try {
            if (Files.isDirectory(dir)) {
                return Files.walk(dir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
Pair #2874 Negative (Non-Clone)
ID: 2458_1958
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyGradleWrapper()
    protected void copyGradleWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, "gradle/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path gradlewPath = Paths.get(BUILD_DIR, "gradlew");
        Path gradlewBatPath = Paths.get(BUILD_DIR, "gradlew.bat");
        Path wrapperJarPath = wrapperPath.resolve("gradle-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("gradle-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew")) {
            Files.copy(is, gradlewPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew.bat")) {
            Files.copy(is, gradlewBatPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(gradlewPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(gradlewBatPath, "rwxr-xr-x");
    }
ID: 2045_1656
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnRollback) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnRollback(operations, file, exchange);
    }
Pair #2875 Negative (Non-Clone)
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
Pair #2876 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 104_93
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientRole(Keycloak keycloakClient, Exchange exchange)
    private void createClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).clients().get(clientUuid).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Client role created successfully");
        }
    }
Pair #2877 Negative (Non-Clone)
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
ID: 107_100
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollAdminEvents()
    private Queue<Exchange> pollAdminEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming admin events");
        }

         
         
         
        List<String> adminOperationTypes = parseCommaSeparatedList(config.getOperationTypes());
        List<AdminEventRepresentation> adminEvents = keycloakClient.realm(realm).getAdminEvents(
                adminOperationTypes,  
                config.getAuthRealmFilter(),  
                config.getAuthClient(),  
                config.getAuthUser(),  
                config.getAuthIpAddress(),  
                config.getResourcePath(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (AdminEventRepresentation adminEvent : adminEvents) {
            long eventTime = adminEvent.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getAdminEventFingerprint(adminEvent);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed admin event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(adminEvent);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "admin-event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, adminEvent.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                 
                 
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last admin event time to: {}", lastEventTime);
        }

        return queue;
    }
Pair #2878 Negative (Non-Clone)
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
Pair #2879 Negative (Non-Clone)
ID: 1427_1279
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);
        try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name());
             OutputStream transferEncodedStream = EntityUtils.encode(ncos, getContentTransferEncodingValue())) {

             
            if (!isMainBody()) {
                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
            }
            transferEncodedStream.write(ediContent);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
Pair #2880 Negative (Non-Clone)
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
Pair #2881 Negative (Non-Clone)
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
ID: 1807_1480
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveContainerRequest(DockerClient client, Message message)
    private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeContainerCmd.withForce(force);
        }

        Boolean removeVolumes
                = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class);

        if (removeVolumes != null) {
            removeContainerCmd.withRemoveVolumes(removeVolumes);
        }

        return removeContainerCmd;

    }
Pair #2882 Negative (Non-Clone)
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
ID: 689_627
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doInsert(Exchange exchange, String tableName)
    private void doInsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Insert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Insert insert = table.newInsert();
        PartialRow row = insert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
             
             
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(insert);
    }
Pair #2883 Negative (Non-Clone)
ID: 1719_1430
ClassID: 1719
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean hasNext = currentSearchHits.hasNext();
        if (!hasNext) {
            updateCurrentSearchHits();

            hasNext = currentSearchHits.hasNext();
        }

        return hasNext;
    }
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
Pair #2884 Negative (Non-Clone)
ID: 2232_1753
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doStatus(Exchange exchange, String operation)
    protected void doStatus(Exchange exchange, String operation) throws GitAPIException {
        Status status = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            status = git.status().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, status);
    }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #2885 Negative (Non-Clone)
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
ID: 2327_1834
ClassID: 2327
File: systems/camel-java/components/camel-aws/camel-aws2-textract/src/main/java/org/apache/camel/component/aws2/textract/Textract2Producer.java
Name: org.apache.camel.component.aws2.textract.Textract2Producer.createDocumentFromExchange(Exchange exchange)
    private Document createDocumentFromExchange(Exchange exchange) throws InvalidPayloadException {
         
        String s3Bucket = getConfiguration().getS3Bucket();
        String s3Object = getConfiguration().getS3Object();

        if (ObjectHelper.isEmpty(s3Bucket)) {
            s3Bucket = exchange.getIn().getHeader(Textract2Constants.S3_BUCKET, String.class);
        }
        if (ObjectHelper.isEmpty(s3Object)) {
            s3Object = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT, String.class);
        }

        if (ObjectHelper.isNotEmpty(s3Bucket) && ObjectHelper.isNotEmpty(s3Object)) {
            S3Object.Builder s3ObjectBuilder = S3Object.builder()
                    .bucket(s3Bucket)
                    .name(s3Object);

            String s3ObjectVersion = getConfiguration().getS3ObjectVersion();
            if (ObjectHelper.isEmpty(s3ObjectVersion)) {
                s3ObjectVersion = exchange.getIn().getHeader(Textract2Constants.S3_OBJECT_VERSION, String.class);
            }
            if (ObjectHelper.isNotEmpty(s3ObjectVersion)) {
                s3ObjectBuilder.version(s3ObjectVersion);
            }

            return Document.builder()
                    .s3Object(s3ObjectBuilder.build())
                    .build();
        } else {
             
            byte[] documentBytes = exchange.getIn().getMandatoryBody(byte[].class);
            return Document.builder()
                    .bytes(SdkBytes.fromByteArray(documentBytes))
                    .build();
        }
    }
Pair #2886 Negative (Non-Clone)
ID: 1218_1049
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handlePaymentMethods(Exchange exchange, String method)
    private Object handlePaymentMethods(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return PaymentMethod.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return PaymentMethod.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String pmId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                PaymentMethod pm = PaymentMethod.retrieve(pmId);
                return pm.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return PaymentMethod.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for payment methods: " + method);
        }
    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #2887 Negative (Non-Clone)
ID: 2362_1854
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof GetIngestionJobRequest) {
                GetIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.getIngestionJob((GetIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Get Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareGetIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            String ingestionJobId;
            GetIngestionJobRequest.Builder builder = GetIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getIngestionJobId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID))) {
                    ingestionJobId = exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID, String.class);
                } else {
                    throw new IllegalArgumentException("IngestionJobId must be specified");
                }
            } else {
                ingestionJobId = getConfiguration().getIngestionJobId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            builder.ingestionJobId(ingestionJobId);
            GetIngestionJobResponse output = bedrockAgentClient.getIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareGetIngestionJobResponse(output, message);
        }
    }
ID: 2601_2220
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimalOrDefault(final String key, final BigDecimal defaultValue)
    public BigDecimal getBigDecimalOrDefault(final String key, final BigDecimal defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #2888 Negative (Non-Clone)
ID: 309_377
ClassID: 309
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AbstractHttpSpanDecorator.getHttpURL(Exchange exchange, Endpoint endpoint)
    protected String getHttpURL(Exchange exchange, Endpoint endpoint) {
        Object url = exchange.getIn().getHeader(Exchange.HTTP_URL);
        if (url instanceof String) {
            return (String) url;
        } else {
            Object uri = exchange.getIn().getHeader(Exchange.HTTP_URI);
            if (uri instanceof String) {
                return (String) uri;
            } else {
                 
                int index = endpoint.getEndpointUri().lastIndexOf("http:");
                if (index != -1) {
                    return endpoint.getEndpointUri().substring(index);
                }
            }
        }
        return null;
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #2889 Negative (Non-Clone)
ID: 3098_2364
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.consumes(String mediaType)
    public RestDefinition consumes(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.consumes = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setConsumes(mediaType);
        }

        return this;
    }
ID: 2177_1712
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #2890 Negative (Non-Clone)
ID: 1035_887
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.add(final String uriTemplate, final CamelMethodHandler handler)
    public CamelPathTemplateHandler add(final String uriTemplate, final CamelMethodHandler handler) {
        lock.lock();
        try {
            delegate.add(uriTemplate, handler);
            handlers.put(uriTemplate, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
Pair #2891 Negative (Non-Clone)
ID: 2655_2322
ClassID: 2655
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isHeadersEnabled()
    private boolean isHeadersEnabled() {
         
        String[] parts = filter.split(",");

        boolean onlyExclude = true;
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
             
            if (pattern.startsWith("header:") || pattern.startsWith("+header:") || pattern.startsWith("-header:")) {
                return false;
            }
            if ("headers".equals(pattern) || "+headers".equals(pattern)) {
                return true;
            } else if ("-headers".equals(pattern)) {
                return false;
            }
            onlyExclude &= pattern.startsWith("-");
        }
         
        return onlyExclude;
    }
ID: 181_170
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
    private <T> T unmarshalResponse(InputStream response, Request request, TypeReference<T> typeRef)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, typeRef);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
Pair #2892 Negative (Non-Clone)
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1993_1635
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromAdmin(Message message, SessionID sessionID)
        public void fromAdmin(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
            try {
                dispatch(QuickfixjEventCategory.AdminMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, RejectLogon.class);
                throw new DispatcherException(e);
            }
        }
Pair #2893 Negative (Non-Clone)
ID: 2052_1673
ClassID: 2052
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/LegacyDefaultErrorHandlerBuilder.java
Name: org.apache.camel.builder.LegacyDefaultErrorHandlerBuilder.cloneBuilder(LegacyDefaultErrorHandlerBuilder other)
    protected void cloneBuilder(LegacyDefaultErrorHandlerBuilder other) {
        other.setLogger(configuration.getLogger());
        if (configuration.getRedeliveryPolicy() != null) {
            other.setRedeliveryPolicy(configuration.getRedeliveryPolicy().copy());
        }
        other.setOnRedelivery(configuration.getOnRedelivery());
        other.setOnRedeliveryRef(configuration.getOnRedeliveryRef());
        other.setRetryWhile(configuration.getRetryWhile());
        other.setRetryWhileRef(configuration.getRetryWhileRef());
        other.setDeadLetterUri(configuration.getDeadLetterUri());
        other.setOnPrepareFailure(configuration.getOnPrepareFailure());
        other.setOnPrepareFailureRef(configuration.getOnPrepareFailureRef());
        other.setOnExceptionOccurred(configuration.getOnExceptionOccurred());
        other.setOnExceptionOccurredRef(configuration.getOnExceptionOccurredRef());
        other.setDeadLetterHandleNewException(configuration.isDeadLetterHandleNewException());
        other.setUseOriginalMessage(configuration.isUseOriginalMessage());
        other.setUseOriginalBody(configuration.isUseOriginalBody());
        other.setAsyncDelayedRedelivery(configuration.isAsyncDelayedRedelivery());
        other.setExecutorServiceRef(configuration.getExecutorServiceRef());
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #2894 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #2895 Negative (Non-Clone)
ID: 181_169
ClassID: 181
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
    private <T> T unmarshalResponse(InputStream response, Request request, Class<T> resultClass)
            throws SalesforceException {
        T result = null;
        if (response != null) {
            try {
                result = objectMapper.readValue(response, resultClass);
            } catch (IOException e) {
                throw new SalesforceException(
                        String.format("Error unmarshalling response for {%s:%s} : %s",
                                request.getMethod(), request.getURI(), e.getMessage()),
                        e);
            }
        }
        return result;
    }
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
Pair #2896 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #2897 Negative (Non-Clone)
ID: 2229_1745
ClassID: 2229
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doAdd(Exchange exchange, String operation)
    protected void doAdd(Exchange exchange, String operation) throws GitAPIException {
        String fileName = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME))) {
            fileName = exchange.getIn().getHeader(GitConstants.GIT_FILE_NAME, String.class);
        } else {
            throw new IllegalArgumentException("File name must be specified to execute " + operation);
        }
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            git.add().addFilepattern(fileName).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 1858_1520
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.loadExistingKeys()
    private void loadExistingKeys() throws Exception {
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        if (keyIds != null) {
            LOG.info("Found {} existing keys in Vault", keyIds.size());

            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        LOG.debug("Loaded existing key from Vault: {}", metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load key from Vault: {}", keyId, e);
                }
            }
        }
    }
Pair #2898 Negative (Non-Clone)
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
ID: 438_454
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(true);
            if (producer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #2899 Negative (Non-Clone)
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 3269_2637
ClassID: 3269
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/UnitOfWorkHelper.java
Name: org.apache.camel.support.UnitOfWorkHelper.invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy)
    private static void invokeSynchronizationCallbacks(Route route, Exchange exchange, Logger log, List<Synchronization> copy) {
        for (Synchronization synchronization : copy) {
            final SynchronizationRouteAware routeSynchronization = synchronization.getRouteSynchronization();
            if (routeSynchronization != null) {
                try {
                    log.trace("Invoking synchronization.onBeforeRoute: {} with {}", synchronization, exchange);
                    routeSynchronization.onBeforeRoute(route, exchange);
                } catch (Exception e) {
                     
                    log.warn("Exception occurred during onBeforeRoute. This exception will be ignored.", e);
                }
            }
        }
    }
Pair #2900 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #2901 Negative (Non-Clone)
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
ID: 1751_1453
ClassID: 1751
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/FileWatcherStrategy.java
Name: org.apache.camel.component.stream.FileWatcherStrategy.doStart()
    protected void doStart() throws Exception {
        if (directory == null) {
             
            return;
        }

        File dir = new File(directory);
        if (dir.exists() && dir.isDirectory()) {
            LOG.info("Starting ReloadStrategy to watch directory: {}", dir);

            WatchEvent.Modifier modifier = null;

             
            String os = ObjectHelper.getSystemProperty("os.name", "");
            if (os.toLowerCase(Locale.US).startsWith("mac")) {
                 
                Class<WatchEvent.Modifier> clazz = getCamelContext().getClassResolver()
                        .resolveClass("com.sun.nio.file.SensitivityWatchEventModifier", WatchEvent.Modifier.class);
                if (clazz != null) {
                    WatchEvent.Modifier[] modifiers = clazz.getEnumConstants();
                    for (WatchEvent.Modifier mod : modifiers) {
                        if ("HIGH".equals(mod.name())) {
                            modifier = mod;
                            break;
                        }
                    }
                }
                if (modifier != null) {
                    LOG.info(
                            "On Mac OS X the JDK WatchService is slow by default so enabling SensitivityWatchEventModifier.HIGH as workaround");
                } else {
                    LOG.warn(
                            "On Mac OS X the JDK WatchService is slow and it may take up till 10 seconds to notice file changes");
                }
            }

            try {
                Path path = dir.toPath();
                watcher = path.getFileSystem().newWatchService();
                registerPathToWatcher(modifier, path, watcher);

                task = new WatchFileChangesTask(watcher, path, onChangeEvent);

                executorService
                        = getCamelContext().getExecutorServiceManager().newSingleThreadExecutor(this, "FileWatcherStrategy");
                executorService.submit(task);
            } catch (IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }
    }
Pair #2902 Negative (Non-Clone)
ID: 1689_1412
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteTemplateContextFactoryBean) {
                CamelRouteTemplateContextFactoryBean factoryBean = (CamelRouteTemplateContextFactoryBean) value;
                builder.addPropertyValue("routeTemplates", factoryBean.getRouteTemplates());
            }

             
            injectNamespaces(element, binder);
        }
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
Pair #2903 Negative (Non-Clone)
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #2904 Negative (Non-Clone)
ID: 2188_1723
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.assignFloatingIPToDroplet(Exchange exchange)
    private void assignFloatingIPToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        String ipAddress = exchange.getIn().getHeader(DigitalOceanHeaders.FLOATING_IP_ADDRESS, String.class);

        if (ObjectHelper.isEmpty(ipAddress)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.FLOATING_IP_ADDRESS + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().assignFloatingIP(dropletId, ipAddress);
        LOG.trace("Assign Floating IP to Droplet {}", action);
        exchange.getMessage().setBody(action);
    }
ID: 221_262
ClassID: 221
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbComponent.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {

        final CosmosDbConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new CosmosDbConfiguration();

        if (ObjectHelper.isNotEmpty(remaining) && !remaining.isBlank()) {
            final String[] parts = remaining.split("/");

             
            configuration.setDatabaseName(parts[0]);

             
            if (parts.length > 1) {
                configuration.setContainerName(parts[1]);
            }
        }

        final CosmosDbEndpoint endpoint = new CosmosDbEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        validateConfigurations(configuration);

        return endpoint;
    }
Pair #2905 Negative (Non-Clone)
ID: 3252_2604
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.createInstance()
    protected KeyManagersParameters createInstance() throws Exception {
        KeyManagersParameters newInstance = new KeyManagersParameters();

        newInstance.setAlgorithm(algorithm);
        newInstance.setKeyPassword(keyPassword);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        return newInstance;
    }
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
Pair #2906 Negative (Non-Clone)
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
ID: 2244_1765
ClassID: 2244
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/cluster/InfinispanEmbeddedClusterView.java
Name: org.apache.camel.component.infinispan.embedded.cluster.InfinispanEmbeddedClusterView.getLeader()
    public Optional<CamelClusterMember> getLeader() {
        if (this.cache == null) {
            return Optional.empty();
        }

        String id = cache.get(InfinispanClusterService.LEADER_KEY);
        if (id == null) {
            return Optional.empty();
        }

        return Optional.of(new ClusterMember(id));
    }
Pair #2907 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #2908 Negative (Non-Clone)
ID: 1320_1226
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.configMaps().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, ConfigMap configMap) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(configMap.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Configmaps: {} detected, triggering CamelContext reload",
                                        configMap.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
Pair #2909 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 1111_945
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations)
    private ImageClient initializeSdkClient(ImageRecognitionEndpoint endpoint, ClientConfigurations clientConfigurations) {
        if (endpoint.getImageClient() != null) {
            LOG.info(
                    "Instance of ImageClient was set on the endpoint. Skipping creation of ImageClient from endpoint parameters");
            this.imageClient = endpoint.getImageClient();
            return endpoint.getImageClient();
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials().withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        imageClient = ImageClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Image client");
        }
        return imageClient;
    }
Pair #2910 Negative (Non-Clone)
ID: 2401_1895
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.startAllStoppedConsumers()
    private void startAllStoppedConsumers() {
        lock.lock();
        try {
            for (Route route : suspendedRoutes) {
                LOGGER.debug("Starting consumer for {} ({})", route.getId(), route.getConsumer());
                startConsumer(route.getConsumer());
            }

            suspendedRoutes.clear();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1547_1366
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/DeleteOperation.java
Name: org.apache.camel.component.zookeeper.operations.DeleteOperation.getResult()
    public OperationResult<Boolean> getResult() {
        try {
            connection.delete(node, version);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Set data of node '%s'", node));
                } else {
                    LOG.debug(format("Set data of node '%s'", node));
                }
            }
            return new OperationResult<>(true, null, true);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #2911 Negative (Non-Clone)
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 899_764
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2912 Negative (Non-Clone)
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 2338_1839
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageBatchRequestEntry.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
            String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
            request.messageGroupId(messageGroupId);

            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                    = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
            String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
            request.messageDeduplicationId(messageDeduplicationId);

        }
    }
Pair #2913 Negative (Non-Clone)
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #2914 Negative (Non-Clone)
ID: 769_702
ClassID: 769
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listCustomModels(Exchange exchange)
    private void listCustomModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String language = exchange.getIn().getHeader(WatsonSpeechToTextConstants.LANGUAGE, String.class);

        LOG.trace("Listing custom language models, language filter: {}", language);

        ListLanguageModelsOptions.Builder builder = new ListLanguageModelsOptions.Builder();
        if (language != null && !language.isBlank()) {
            builder.language(language);
        }

        ListLanguageModelsOptions options = builder.build();
        LanguageModels customModels = stt.listLanguageModels(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        List<LanguageModel> models = customModels.getCustomizations();
        message.setBody(models != null ? models : List.of());
    }
ID: 1032_882
ClassID: 1032
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
    public static HttpMethods createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
        String queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
             
            uriString = UnsafeUriCharactersEncoder.encodeHttpURI(uriString);
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }

        HttpMethods answer;
        if (endpoint.getHttpMethod() != null) {
             
            answer = endpoint.getHttpMethod();
        } else {
             
            HttpMethods m = exchange.getIn().getHeader(Exchange.HTTP_METHOD, HttpMethods.class);
            if (m != null) {
                 
                answer = m;
            } else if (queryString != null) {
                 
                answer = HttpMethods.GET;
            } else {
                 
                answer = hasPayload ? HttpMethods.POST : HttpMethods.GET;
            }
        }

        return answer;
    }
Pair #2915 Negative (Non-Clone)
ID: 3280_2670
ClassID: 3280
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.endsWith(final Expression left, final Expression right)
    public static Predicate endsWith(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                return LanguageHelper.endsWith(exchange, leftValue, rightValue);
            }

            protected String getOperationText() {
                return "endsWith";
            }
        };
    }
ID: 1130_966
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.listen(String requestUri, HttpRequestHandler handler)
    public void listen(String requestUri, HttpRequestHandler handler) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.registerHandler(requestUri, handler);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #2916 Negative (Non-Clone)
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
Pair #2917 Negative (Non-Clone)
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
ID: 3230_2541
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.filePathExpression()
    public static Expression filePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFilePath", String.class);
            }

            @Override
            public String toString() {
                return "file:path";
            }
        };
    }
Pair #2918 Negative (Non-Clone)
ID: 3207_2474
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (rr != null) {
            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                if (!sb.isEmpty()) {
                    sb.append("\n");
                }
                sb.append(String.format("\n    Url: %s", rs.getUrl()));
                sb.append(String.format("\n    Method: %s", rs.getMethod()));
                sb.append(String.format("\n    State: %s", rs.getState()));
                if (rs.getConsumes() != null) {
                    sb.append(String.format("\n    Consumes: %s", rs.getConsumes()));
                }
                if (rs.getProduces() != null) {
                    sb.append(String.format("\n    Produces: %s", rs.getProduces()));
                }
                if (rs.getInType() != null) {
                    sb.append(String.format("\n    In Type: %s", rs.getInType()));
                }
                if (rs.getOutType() != null) {
                    sb.append(String.format("\n    Out Type: %s", rs.getOutType()));
                }
                if (rs.getDescription() != null) {
                    sb.append(String.format("\n    Description: %s", rs.getDescription()));
                }
            }
            sb.append("\n");
        }

        return sb.toString();
    }
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
Pair #2919 Negative (Non-Clone)
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #2920 Negative (Non-Clone)
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
ID: 3231_2543
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.mandatoryBodyOgnlExpression(final String name, final String ognl)
    public static Expression mandatoryBodyOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object body;
                try {
                    body = exchange.getIn().getMandatoryBody(type);
                } catch (InvalidPayloadException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Expression ognlExp = bean.createExpression(null, new Object[] { null, body, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "mandatoryBodyAs[" + name + "](" + ognl + ")";
            }
        };
    }
Pair #2921 Negative (Non-Clone)
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
ID: 2041_1647
ClassID: 2041
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/cluster/FileLockClusterView.java
Name: org.apache.camel.component.file.cluster.FileLockClusterView.closeLockFiles()
    private void closeLockFiles() {
        if (leaderLockFile != null) {
            try {
                leaderLockFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderLockFile = null;
        }

        if (leaderDataFile != null) {
            try {
                leaderDataFile.close();
            } catch (Exception ignore) {
                LOGGER.warn("{}", ignore.getMessage(), ignore);
            }
            leaderDataFile = null;
        }
    }
Pair #2922 Negative (Non-Clone)
ID: 1116_951
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getAccessKey(ImageRecognitionEndpoint endpoint)
    private String getAccessKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getAccessKey())) {
            return endpoint.getAccessKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getAccessKey())) {
            return endpoint.getServiceKeys().getAccessKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'access key (AK)' not found");
        }
    }
ID: 1618_1392
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateConsumerException {
        Connection conn = null;
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = listenerContainer.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateConsumerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #2923 Negative (Non-Clone)
ID: 3167_2431
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        this.sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2924 Negative (Non-Clone)
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
ID: 1863_1532
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
Pair #2925 Negative (Non-Clone)
ID: 1248_1079
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createHeaderFunction()
    private XPathFunction createHeaderFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String headerText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        return exchange.get().getIn().getHeader(headerText);
                    }
                }
                return null;
            }
        };
    }
ID: 3170_2437
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageBody(Integer index)
    public String browseMessageBody(Integer index) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.extractBodyAsString(msg);
    }
Pair #2926 Negative (Non-Clone)
ID: 1780_1462
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpSocketConsumerRunnable.TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer, Hl7Util hl7Util, boolean logPhi)
    public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
                                     Hl7Util hl7Util, boolean logPhi) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;
        this.hl7Util = hl7Util;
        this.logPhi = logPhi;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #2927 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #2928 Negative (Non-Clone)
ID: 259_341
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSas(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSas(
            final DataLakeConfiguration configuration) {
        AzureSasCredential sasCredential = configuration.getSasCredential();
        if (sasCredential == null) {
            LOG.trace("Using SAS signature to instantiate service client");
            sasCredential = new AzureSasCredential(configuration.getSasSignature());
        } else {
            LOG.trace("Using configured SAS instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sasCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #2929 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 584_550
ClassID: 584
File: systems/camel-java/components/camel-fhir/camel-fhir-api/src/main/java/org/apache/camel/component/fhir/api/FhirHistory.java
Name: org.apache.camel.component.fhir.api.FhirHistory.processOptionalParams(Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped)
    private <T extends IBaseBundle> void processOptionalParams(
            Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped) {
        if (count != null) {
            tiHistoryTyped.count(count);
        }
        if (theCutoff != null) {
            tiHistoryTyped.since(theCutoff);
        }
        if (cutoff != null) {
            tiHistoryTyped.since(cutoff);
        }
    }
Pair #2930 Negative (Non-Clone)
ID: 240_300
ClassID: 240
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("azure")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("azure");
            if (pf instanceof KeyVaultPropertiesFunction) {
                propertiesFunction = (KeyVaultPropertiesFunction) pf;
            }
        }
        AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
        if (azure != null && azure.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(EventhubsReloadTriggerTask.class);
        }
    }
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
Pair #2931 Negative (Non-Clone)
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 3335_2736
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstMatching(Predicate<T> predicate, ThrowingSupplier<T, Exception>... suppliers)
            throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (predicate.test(answer)) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #2932 Negative (Non-Clone)
ID: 2046_1658
ClassID: 2046
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileChangedExclusiveReadLockStrategy.sleep()
    private boolean sleep() {
        LOG.trace("Exclusive read lock not granted. Sleeping for {} millis.", checkInterval);
        try {
            Thread.sleep(checkInterval);
            return false;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            LOG.debug("Sleep interrupted while waiting for exclusive read lock, so breaking out");
            return true;
        }
    }
ID: 3226_2518
ClassID: 3226
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java
Name: org.apache.camel.util.StringQuoteHelper.splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes)
    public static String[] splitSafeQuote(String input, char separator, boolean trim, boolean keepQuotes) {
        if (input == null) {
            return null;
        }

        if (input.indexOf(separator) == -1) {
            if (input.length() > 1) {
                char ch = input.charAt(0);
                char ch2 = input.charAt(input.length() - 1);
                boolean singleQuoted = ch == '\'' && ch2 == '\'';
                boolean doubleQuoted = ch == '"' && ch2 == '"';
                if (!keepQuotes && (singleQuoted || doubleQuoted)) {
                    input = input.substring(1, input.length() - 1);
                     
                } else if (trim) {
                    input = input.trim();
                }
            }
             
            return new String[] { input };
        }

        List<String> answer = new ArrayList<>();
        StringBuilder sb = new StringBuilder(input.length());

        boolean singleQuoted = false;
        boolean doubleQuoted = false;
        boolean separating = false;

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            char prev = i > 0 ? input.charAt(i - 1) : 0;
            boolean isQuoting = singleQuoted || doubleQuoted;
            boolean last = i == input.length() - 1;

            if (!doubleQuoted && ch == '\'') {
                if (singleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("''");
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (singleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "'");  
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                singleQuoted = !singleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!singleQuoted && ch == '"') {
                if (doubleQuoted && prev == ch && sb.isEmpty()) {
                     
                    if (keepQuotes) {
                        answer.add("\"");  
                    } else {
                        answer.add("");
                    }
                }
                 
                if (last) {
                    if (doubleQuoted && !sb.isEmpty()) {
                        String text = sb.toString();
                         
                        if (keepQuotes) {
                            answer.add(text + "\"");
                        } else {
                            answer.add(text);
                        }
                        sb.setLength(0);
                    }
                    break;  
                }
                doubleQuoted = !doubleQuoted;
                if (keepQuotes) {
                    sb.append(ch);
                }
                continue;
            } else if (!isQuoting && ch == separator) {
                separating = true;
                 
                if (!sb.isEmpty()) {
                    String text = sb.toString();
                    if (trim) {
                        text = text.trim();
                    }
                    answer.add(text);
                    sb.setLength(0);
                }
                 
                continue;
            }

            if (trim && !isQuoting && separating && separator != ' ' && ch == ' ') {
                continue;
            }
            separating = false;

             
            sb.append(ch);
        }

         
        if (!sb.isEmpty()) {
            String text = sb.toString();
            if (trim) {
                text = text.trim();
            }
            answer.add(text);
        }

        return answer.toArray(new String[0]);
    }
Pair #2933 Negative (Non-Clone)
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
ID: 927_804
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.doStop()
    protected void doStop() throws Exception {
        localLog.info("Stopping Google PubSub consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(AbstractApiService::stopAsync);
            }
        }

        safeCancelSynchronousPullResponses();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;

        super.doStop();
    }
Pair #2934 Negative (Non-Clone)
ID: 617_555
ClassID: 617
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createProducer()
    public GenericFileProducer<FileIdBothDirectoryInformation> createProducer() throws Exception {
        try {
            if (this.getMoveExistingFileStrategy() == null) {
                this.setMoveExistingFileStrategy(createDefaultFtpMoveExistingFileStrategy());
            }
            return new SmbProducer(this, createOperations());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(this, e);
        }
    }
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #2935 Negative (Non-Clone)
ID: 1306_1141
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.getLocalTimestamp(ConfigMap configMap, String group)
    private static Date getLocalTimestamp(ConfigMap configMap, String group) {
        String timestamp = getConfigMapValue(configMap, LOCAL_TIMESTAMP_PREFIX + group);
        if (timestamp == null) {
            return null;
        }

        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).parse(timestamp);
        } catch (Exception e) {
            LOG.warn("Unable to parse time string '{}' using format {}", timestamp, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 2468_1986
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
Pair #2936 Negative (Non-Clone)
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 2608_2240
ClassID: 2608
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #2937 Negative (Non-Clone)
ID: 3276_2655
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isInstanceOf(final Expression expression, final Class<?> type)
    public static Predicate isInstanceOf(final Expression expression, final Class<?> type) {
        notNull(expression, "expression");
        notNull(type, "type");

        return new Predicate() {
            public boolean matches(Exchange exchange) {
                Object value = expression.evaluate(exchange, Object.class);
                return type.isInstance(value);
            }

            @Override
            public void init(CamelContext camelContext) {
                expression.init(camelContext);
            }

            @Override
            public String toString() {
                return expression + " instanceof " + type.getCanonicalName();
            }
        };
    }
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
Pair #2938 Negative (Non-Clone)
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
ID: 1188_1017
ClassID: 1188
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.next()
    public Message next() {
        if (parent == null) {
            parent = getNextElement();
        }
        Message answer = parent;
        parent = null;

        if (first && answer == null) {
            throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
        }

        first = false;
        checkNullAnswer(answer);

        return answer;
    }
Pair #2939 Negative (Non-Clone)
ID: 972_815
ClassID: 972
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/type/EndpointMappingKey.java
Name: org.apache.camel.component.spring.ws.type.EndpointMappingKey.equals(Object obj)
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }

        EndpointMappingKey other = (EndpointMappingKey) obj;
        if (lookupKey == null) {
            if (other.lookupKey != null) {
                return false;
            }
        } else if (!lookupKey.equals(other.lookupKey)) {
            return false;
        }
        return true;
    }
ID: 1137_971
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
Name: org.apache.camel.component.github.consumer.CommitConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        Registry registry = getEndpoint().getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_COMMIT_SERVICE);
        if (service != null) {
            LOG.debug("Using CommitService found in registry {}", service.getClass().getCanonicalName());
            commitService = (CommitService) service;
        } else {
            commitService = new CommitService();
        }

        initService(commitService);
    }
Pair #2940 Negative (Non-Clone)
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
ID: 1282_1132
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findDocumentByKey()
    private Function<Exchange, Object> findDocumentByKey() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;

                return collection.getDocument(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #2941 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #2942 Negative (Non-Clone)
ID: 2468_1988
ClassID: 2468
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.extractSourceName(String loc)
    public static String extractSourceName(String loc) {
        loc = stripSourceLocationLineNumber(loc);
        if (loc != null) {
            if (loc.contains(":")) {
                 
                loc = loc.substring(loc.indexOf(':') + 1);
                 
                loc = FileUtil.stripPath(loc);
            }
        }
        return loc;
    }
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #2943 Negative (Non-Clone)
ID: 141_123
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.startInterrogation(ASDUAddress asduAddress, short qoi)
    public boolean startInterrogation(ASDUAddress asduAddress, short qoi) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot start interrogation: not connected or data module not initialized");
            return false;
        }
        try {
            context.startInterrogation(asduAddress, qoi);
            LOG.debug("Started interrogation for ASDU address {} with QOI {}", asduAddress, qoi);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to start interrogation", e);
            return false;
        }
    }
ID: 1059_908
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java
Name: org.apache.camel.component.xmlsecurity.processor.SantuarioUtil.initializeSantuario()
    public static void initializeSantuario() {
         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
Pair #2944 Negative (Non-Clone)
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
ID: 3284_2679
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertHeaderProcessor.java
Name: org.apache.camel.support.processor.ConvertHeaderProcessor.ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName, Class<?> type, String charset, boolean mandatory)
    public ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName,
                                  Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(headerName, "headerName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.headerName = headerName;
        this.toName = toName;
        this.toHeaderName = toHeaderName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
Pair #2945 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #2946 Negative (Non-Clone)
ID: 2176_1709
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration)
    private void configureAuthentication(
            ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
ID: 1718_1429
ClassID: 1718
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient, int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass)
    public OpensearchScrollRequestIterator(SearchRequest.Builder searchRequestBuilder, OpenSearchClient esClient,
                                           int scrollKeepAliveMs, Exchange exchange, Class<TDocument> documentClass) {
         
        this.searchRequest = searchRequestBuilder
                .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                .build();
        this.esClient = esClient;
        this.scrollKeepAliveMs = scrollKeepAliveMs;
        this.exchange = exchange;
        this.closed = false;
        this.requestCount = 0;
        this.documentClass = documentClass;

        setFirstCurrentSearchHits();
    }
Pair #2947 Negative (Non-Clone)
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #2948 Negative (Non-Clone)
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
ID: 635_569
ClassID: 635
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.retrieveOidcToken()
    public String retrieveOidcToken() {
        if (oidcToken == null || !cacheTokens) {
            try {
                oidcToken = IOHelper
                        .loadText(ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), oidcTokenPath))
                        .trim();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return oidcToken;
    }
Pair #2949 Negative (Non-Clone)
ID: 1435_1299
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeCompressedDataEntity parseApplicationPkcs7MimeCompressedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] compressedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeCompressedDataEntity(compressedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2950 Negative (Non-Clone)
ID: 2541_2118
ClassID: 2541
File: systems/camel-java/catalog/camel-catalog-common/src/main/java/org/apache/camel/catalog/common/FileUtil.java
Name: org.apache.camel.catalog.common.FileUtil.findXmlFiles(File dir, Set<File> xmlFiles)
    public static void findXmlFiles(File dir, Set<File> xmlFiles) {
        File[] files = dir.isDirectory() ? dir.listFiles() : null;
        if (files != null) {
            for (File file : files) {
                if (file.getName().endsWith(".xml")) {
                    xmlFiles.add(file);
                } else if (file.isDirectory()) {
                    findXmlFiles(file, xmlFiles);
                }
            }
        }
    }
ID: 2232_1759
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowBranches(Exchange exchange, String operation)
    protected void doShowBranches(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.branchList().setListMode(ListMode.ALL).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #2951 Negative (Non-Clone)
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
ID: 3293_2696
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {
         
         
         

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {
                @Override
                public SSLEngine configure(SSLEngine engine) {
                    LOG.trace("Configuring client-auth on SSLEngine [{}] to [{}].", engine, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            engine.setWantClientAuth(false);
                            engine.setNeedClientAuth(false);
                            break;
                        case WANT:
                            engine.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            engine.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return engine;
                }
            };

            sslEngineConfigurers.add(sslEngineConfigurer);
        }

        return sslEngineConfigurers;
    }
Pair #2952 Negative (Non-Clone)
ID: 980_836
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/TokenMgrError.java
Name: org.apache.camel.component.sql.stored.template.generated.TokenMgrError.addEscapes(String str)
  protected static final String addEscapes(String str) {
    StringBuilder retval = new StringBuilder();
    char ch;
    for (int i = 0; i < str.length(); i++) {
      switch (str.charAt(i))
      {
        case '\b':
          retval.append("\\b");
          continue;
        case '\t':
          retval.append("\\t");
          continue;
        case '\n':
          retval.append("\\n");
          continue;
        case '\f':
          retval.append("\\f");
          continue;
        case '\r':
          retval.append("\\r");
          continue;
        case '\"':
          retval.append("\\\"");
          continue;
        case '\'':
          retval.append("\\\'");
          continue;
        case '\\':
          retval.append("\\\\");
          continue;
        default:
          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
            String s = "0000" + Integer.toString(ch, 16);
            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
          } else {
            retval.append(ch);
          }
          continue;
      }
    }
    return retval.toString();
  }
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
Pair #2953 Negative (Non-Clone)
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 239_296
ClassID: 239
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
Name: org.apache.camel.component.aws.secretsmanager.vault.CloudTrailReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #2954 Negative (Non-Clone)
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
Pair #2955 Negative (Non-Clone)
ID: 2522_2082
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Activemq6ComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.Activemq6ComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "brokerURL": ((ActiveMQComponent) component).setBrokerURL((java.lang.String) value); return true;
            case "clientId": getOrCreateConfiguration((ActiveMQComponent) component).setClientId((java.lang.String) value); return true;
            case "connectionFactory": getOrCreateConfiguration((ActiveMQComponent) component).setConnectionFactory((jakarta.jms.ConnectionFactory) value); return true;
            case "disableReplyTo": getOrCreateConfiguration((ActiveMQComponent) component).setDisableReplyTo((boolean) value); return true;
            case "durableSubscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setDurableSubscriptionName((java.lang.String) value); return true;
            case "embedded": ((ActiveMQComponent) component).setEmbedded((boolean) value); return true;
            case "jmsMessageType": getOrCreateConfiguration((ActiveMQComponent) component).setJmsMessageType((org.apache.camel.component.jms.JmsMessageType) value); return true;
            case "replyTo": getOrCreateConfiguration((ActiveMQComponent) component).setReplyTo((java.lang.String) value); return true;
            case "testConnectionOnStartup": getOrCreateConfiguration((ActiveMQComponent) component).setTestConnectionOnStartup((boolean) value); return true;
            case "usePooledConnection": ((ActiveMQComponent) component).setUsePooledConnection((boolean) value); return true;
            case "useSingleConnection": ((ActiveMQComponent) component).setUseSingleConnection((boolean) value); return true;
            case "acknowledgementModeName": getOrCreateConfiguration((ActiveMQComponent) component).setAcknowledgementModeName((java.lang.String) value); return true;
            case "artemisConsumerPriority": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisConsumerPriority((int) value); return true;
            case "asyncConsumer": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncConsumer((boolean) value); return true;
            case "autoStartup": getOrCreateConfiguration((ActiveMQComponent) component).setAutoStartup((boolean) value); return true;
            case "cacheLevel": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevel((int) value); return true;
            case "cacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setCacheLevelName((java.lang.String) value); return true;
            case "concurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setConcurrentConsumers((int) value); return true;
            case "maxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setMaxConcurrentConsumers((int) value); return true;
            case "replyToDeliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDeliveryPersistent((boolean) value); return true;
            case "selector": getOrCreateConfiguration((ActiveMQComponent) component).setSelector((java.lang.String) value); return true;
            case "subscriptionDurable": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionDurable((boolean) value); return true;
            case "subscriptionName": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionName((java.lang.String) value); return true;
            case "subscriptionShared": getOrCreateConfiguration((ActiveMQComponent) component).setSubscriptionShared((boolean) value); return true;
            case "acceptMessagesWhileStopping": getOrCreateConfiguration((ActiveMQComponent) component).setAcceptMessagesWhileStopping((boolean) value); return true;
            case "allowReplyManagerQuickStop": getOrCreateConfiguration((ActiveMQComponent) component).setAllowReplyManagerQuickStop((boolean) value); return true;
            case "consumerType": getOrCreateConfiguration((ActiveMQComponent) component).setConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "defaultTaskExecutorType": getOrCreateConfiguration((ActiveMQComponent) component).setDefaultTaskExecutorType((org.apache.camel.component.jms.DefaultTaskExecutorType) value); return true;
            case "eagerLoadingOfProperties": getOrCreateConfiguration((ActiveMQComponent) component).setEagerLoadingOfProperties((boolean) value); return true;
            case "eagerPoisonBody": getOrCreateConfiguration((ActiveMQComponent) component).setEagerPoisonBody((java.lang.String) value); return true;
            case "exposeListenerSession": getOrCreateConfiguration((ActiveMQComponent) component).setExposeListenerSession((boolean) value); return true;
            case "replyToConsumerType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConsumerType((org.apache.camel.component.jms.ConsumerType) value); return true;
            case "replyToSameDestinationAllowed": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToSameDestinationAllowed((boolean) value); return true;
            case "taskExecutor": getOrCreateConfiguration((ActiveMQComponent) component).setTaskExecutor((org.springframework.core.task.TaskExecutor) value); return true;
            case "deliveryDelay": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryDelay((long) value); return true;
            case "deliveryMode": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryMode((java.lang.Integer) value); return true;
            case "deliveryPersistent": getOrCreateConfiguration((ActiveMQComponent) component).setDeliveryPersistent((boolean) value); return true;
            case "explicitQosEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setExplicitQosEnabled((java.lang.Boolean) value); return true;
            case "formatDateHeadersToIso8601": getOrCreateConfiguration((ActiveMQComponent) component).setFormatDateHeadersToIso8601((boolean) value); return true;
            case "lazyStartProducer": ((ActiveMQComponent) component).setLazyStartProducer((boolean) value); return true;
            case "preserveMessageQos": getOrCreateConfiguration((ActiveMQComponent) component).setPreserveMessageQos((boolean) value); return true;
            case "priority": getOrCreateConfiguration((ActiveMQComponent) component).setPriority((int) value); return true;
            case "replyToConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToConcurrentConsumers((int) value); return true;
            case "replyToMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToMaxConcurrentConsumers((int) value); return true;
            case "replyToOnTimeoutMaxConcurrentConsumers": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOnTimeoutMaxConcurrentConsumers((int) value); return true;
            case "replyToOverride": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToOverride((java.lang.String) value); return true;
            case "replyToType": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToType((org.apache.camel.component.jms.ReplyToType) value); return true;
            case "requestTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeout((long) value); return true;
            case "timeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setTimeToLive((long) value); return true;
            case "allowAdditionalHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowAdditionalHeaders((java.lang.String) value); return true;
            case "allowNullBody": getOrCreateConfiguration((ActiveMQComponent) component).setAllowNullBody((boolean) value); return true;
            case "alwaysCopyMessage": getOrCreateConfiguration((ActiveMQComponent) component).setAlwaysCopyMessage((boolean) value); return true;
            case "correlationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setCorrelationProperty((java.lang.String) value); return true;
            case "disableTimeToLive": getOrCreateConfiguration((ActiveMQComponent) component).setDisableTimeToLive((boolean) value); return true;
            case "forceSendOriginalMessage": getOrCreateConfiguration((ActiveMQComponent) component).setForceSendOriginalMessage((boolean) value); return true;
            case "includeSentJMSMessageID": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeSentJMSMessageID((boolean) value); return true;
            case "replyCorrelationProperty": getOrCreateConfiguration((ActiveMQComponent) component).setReplyCorrelationProperty((java.lang.String) value); return true;
            case "replyToCacheLevelName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToCacheLevelName((java.lang.String) value); return true;
            case "replyToDestinationSelectorName": getOrCreateConfiguration((ActiveMQComponent) component).setReplyToDestinationSelectorName((java.lang.String) value); return true;
            case "streamMessageTypeEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setStreamMessageTypeEnabled((boolean) value); return true;
            case "allowAutoWiredConnectionFactory": ((ActiveMQComponent) component).setAllowAutoWiredConnectionFactory((boolean) value); return true;
            case "allowAutoWiredDestinationResolver": ((ActiveMQComponent) component).setAllowAutoWiredDestinationResolver((boolean) value); return true;
            case "allowSerializedHeaders": getOrCreateConfiguration((ActiveMQComponent) component).setAllowSerializedHeaders((boolean) value); return true;
            case "artemisStreamingEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setArtemisStreamingEnabled((boolean) value); return true;
            case "asyncStartListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStartListener((boolean) value); return true;
            case "asyncStopListener": getOrCreateConfiguration((ActiveMQComponent) component).setAsyncStopListener((boolean) value); return true;
            case "autowiredEnabled": ((ActiveMQComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "browseLimit": getOrCreateConfiguration((ActiveMQComponent) component).setBrowseLimit((int) value); return true;
            case "configuration": ((ActiveMQComponent) component).setConfiguration((org.apache.camel.component.jms.JmsConfiguration) value); return true;
            case "destinationResolver": getOrCreateConfiguration((ActiveMQComponent) component).setDestinationResolver((org.springframework.jms.support.destination.DestinationResolver) value); return true;
            case "errorHandler": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandler((org.springframework.util.ErrorHandler) value); return true;
            case "exceptionListener": getOrCreateConfiguration((ActiveMQComponent) component).setExceptionListener((jakarta.jms.ExceptionListener) value); return true;
            case "idleConsumerLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleConsumerLimit((int) value); return true;
            case "idleReceivesPerTaskLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleReceivesPerTaskLimit((int) value); return true;
            case "idleTaskExecutionLimit": getOrCreateConfiguration((ActiveMQComponent) component).setIdleTaskExecutionLimit((int) value); return true;
            case "includeAllJMSXProperties": getOrCreateConfiguration((ActiveMQComponent) component).setIncludeAllJMSXProperties((boolean) value); return true;
            case "includeCorrelationIDAsBytes": ((ActiveMQComponent) component).setIncludeCorrelationIDAsBytes((boolean) value); return true;
            case "jmsKeyFormatStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setJmsKeyFormatStrategy((org.apache.camel.component.jms.JmsKeyFormatStrategy) value); return true;
            case "mapJmsMessage": getOrCreateConfiguration((ActiveMQComponent) component).setMapJmsMessage((boolean) value); return true;
            case "maxMessagesPerTask": getOrCreateConfiguration((ActiveMQComponent) component).setMaxMessagesPerTask((int) value); return true;
            case "messageConverter": getOrCreateConfiguration((ActiveMQComponent) component).setMessageConverter((org.springframework.jms.support.converter.MessageConverter) value); return true;
            case "messageCreatedStrategy": getOrCreateConfiguration((ActiveMQComponent) component).setMessageCreatedStrategy((org.apache.camel.component.jms.MessageCreatedStrategy) value); return true;
            case "messageIdEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageIdEnabled((boolean) value); return true;
            case "messageListenerContainerFactory": getOrCreateConfiguration((ActiveMQComponent) component).setMessageListenerContainerFactory((org.apache.camel.component.jms.MessageListenerContainerFactory) value); return true;
            case "messageTimestampEnabled": getOrCreateConfiguration((ActiveMQComponent) component).setMessageTimestampEnabled((boolean) value); return true;
            case "pubSubNoLocal": getOrCreateConfiguration((ActiveMQComponent) component).setPubSubNoLocal((boolean) value); return true;
            case "queueBrowseStrategy": ((ActiveMQComponent) component).setQueueBrowseStrategy((org.apache.camel.component.jms.QueueBrowseStrategy) value); return true;
            case "receiveTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setReceiveTimeout((long) value); return true;
            case "recoveryInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRecoveryInterval((long) value); return true;
            case "requestTimeoutCheckerInterval": getOrCreateConfiguration((ActiveMQComponent) component).setRequestTimeoutCheckerInterval((long) value); return true;
            case "serviceLocationEnabled": ((ActiveMQComponent) component).setServiceLocationEnabled((boolean) value); return true;
            case "synchronous": getOrCreateConfiguration((ActiveMQComponent) component).setSynchronous((boolean) value); return true;
            case "temporaryQueueResolver": getOrCreateConfiguration((ActiveMQComponent) component).setTemporaryQueueResolver((org.apache.camel.component.jms.TemporaryQueueResolver) value); return true;
            case "transferException": getOrCreateConfiguration((ActiveMQComponent) component).setTransferException((boolean) value); return true;
            case "transferExchange": getOrCreateConfiguration((ActiveMQComponent) component).setTransferExchange((boolean) value); return true;
            case "trustAllPackages": ((ActiveMQComponent) component).setTrustAllPackages((boolean) value); return true;
            case "useMessageIDAsCorrelationID": getOrCreateConfiguration((ActiveMQComponent) component).setUseMessageIDAsCorrelationID((boolean) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedCounter((int) value); return true;
            case "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime((long) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedCounter": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedCounter((int) value); return true;
            case "waitForTemporaryReplyToToBeUpdatedThreadSleepingTime": getOrCreateConfiguration((ActiveMQComponent) component).setWaitForTemporaryReplyToToBeUpdatedThreadSleepingTime((long) value); return true;
            case "headerFilterStrategy": ((ActiveMQComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "errorHandlerLoggingLevel": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLoggingLevel((org.apache.camel.LoggingLevel) value); return true;
            case "errorHandlerLogStackTrace": getOrCreateConfiguration((ActiveMQComponent) component).setErrorHandlerLogStackTrace((boolean) value); return true;
            case "password": getOrCreateConfiguration((ActiveMQComponent) component).setPassword((java.lang.String) value); return true;
            case "username": getOrCreateConfiguration((ActiveMQComponent) component).setUsername((java.lang.String) value); return true;
            case "transacted": getOrCreateConfiguration((ActiveMQComponent) component).setTransacted((boolean) value); return true;
            case "transactedInOut": getOrCreateConfiguration((ActiveMQComponent) component).setTransactedInOut((boolean) value); return true;
            case "lazyCreateTransactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setLazyCreateTransactionManager((boolean) value); return true;
            case "transactionManager": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionManager((org.springframework.transaction.PlatformTransactionManager) value); return true;
            case "transactionName": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionName((java.lang.String) value); return true;
            case "transactionTimeout": getOrCreateConfiguration((ActiveMQComponent) component).setTransactionTimeout((int) value); return true;
            default: return false;
            }
        }
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #2956 Negative (Non-Clone)
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
Pair #2957 Negative (Non-Clone)
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
ID: 3245_2577
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
Name: org.apache.camel.reifier.RemovePropertiesReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", this);
        RemovePropertiesProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemovePropertiesProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemovePropertiesProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #2958 Negative (Non-Clone)
ID: 640_572
ClassID: 640
File: systems/camel-java/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2Put.java
Name: org.apache.camel.component.dhis2.api.Dhis2Put.resource(String path, Object resource, Map<String, Object> queryParams)
    public InputStream resource(String path, Object resource, Map<String, Object> queryParams) {
        PutOperation putOperation = dhis2Client.put(path);
        if (queryParams != null) {
            for (Map.Entry<String, Object> queryParam : queryParams.entrySet()) {
                if (queryParam.getValue() instanceof List) {
                    for (String queryValue : (List<String>) queryParam.getValue()) {
                        putOperation.withParameter(queryParam.getKey(), queryValue);
                    }
                } else {
                    putOperation.withParameter(queryParam.getKey(), (String) queryParam.getValue());
                }
            }
        }

        if (resource != null) {
            putOperation.withResource(resource);
        }

        return putOperation.transfer().read();
    }
ID: 2435_1907
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
    public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts = downloader.downloadArtifacts("org.apache.camel.quarkus", "camel-quarkus-catalog",
                    camelQuarkusVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
Pair #2959 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 3297_2708
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheck(CamelContext context, String id)
    public static HealthCheck getHealthCheck(CamelContext context, String id) {
        HealthCheck answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheck> check = hcr.getCheck(id);
            if (check.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheck hc = resolver.resolveHealthCheck(id);
                if (hc != null) {
                    check = Optional.of(hc);
                    hcr.register(hc);
                }
            }
            if (check.isPresent()) {
                answer = check.get();
            }
        }
        return answer;
    }
Pair #2960 Negative (Non-Clone)
ID: 375_407
ClassID: 375
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
Name: org.apache.camel.component.jms.JmsConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        if (listenerContainer == null) {
            createMessageListenerContainer();
        }
        getEndpoint().onListenerContainerStarting();

        if (getEndpoint().getConfiguration().isAsyncStartListener()) {
            getEndpoint().getAsyncStartStopExecutorService().submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        prepareAndStartListenerContainer();
                    } catch (Exception e) {
                        LOG.warn("Error starting listener container on destination: {}. This exception will be ignored.",
                                getDestinationName(), e);
                    }
                }

                @Override
                public String toString() {
                    return "AsyncStartListenerTask[" + getDestinationName() + "]";
                }
            });
        } else {
            prepareAndStartListenerContainer();
        }

         
        initialized = true;
    }
ID: 1070_925
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/component/dfdl/DfdlEndpoint.java
Name: org.apache.camel.component.dfdl.DfdlEndpoint.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to initialize dfdl endpoint: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
Pair #2961 Negative (Non-Clone)
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #2962 Negative (Non-Clone)
ID: 1308_1161
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Pod, PodList, PodResource> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().pods().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Pod, PodList, PodResource> client
                        = getEndpoint().getKubernetesClient().pods().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Pod, PodList, PodResource>) client.withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
Pair #2963 Negative (Non-Clone)
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
Pair #2964 Negative (Non-Clone)
ID: 3336_2737
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Method method, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Method method, String fqnAnnotationName, String key) {
        for (Annotation ann : method.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #2965 Negative (Non-Clone)
ID: 2527_2097
ClassID: 2527
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/JavaKnownImportsDownloader.java
Name: org.apache.camel.main.download.JavaKnownImportsDownloader.determineImports(String content)
    private static List<String> determineImports(String content) {
        List<String> answer = new ArrayList<>();
        final Matcher matcher = IMPORT_PATTERN.matcher(content);
        while (matcher.find()) {
            String imp = matcher.group(1);
            imp = imp.trim();
            answer.add(imp);
        }
        return answer;
    }
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #2966 Negative (Non-Clone)
ID: 3168_2432
ClassID: 3168
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.start()
    public void start() throws Exception {
        if (!context.getStatus().isStarted()) {
            throw new IllegalArgumentException("CamelContext is not started");
        }
        try {
            context.getRouteController().startRoute(getRouteId());
        } catch (Exception e) {
            LOG.warn("Error starting route: {} due to: {}. This exception is ignored.", getRouteId(), e.getMessage(), e);
            throw e;
        }
    }
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
Pair #2967 Negative (Non-Clone)
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
Pair #2968 Negative (Non-Clone)
ID: 1273_1113
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performList(final Exchange exchange, AsyncCallback callback)
    public void performList(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String filters = dynamicRouterControlService.getSubscriptionsForChannel(subscribeChannel);
            message.setBody(filters, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #2969 Negative (Non-Clone)
ID: 2595_2198
ClassID: 2595
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Yylex.java
Name: org.apache.camel.util.json.Yylex.zzUnpackAttribute(String packed, int offset, int[] result)
    private static int zzUnpackAttribute(String packed, int offset, int[] result) {
        int i = 0;  
        int j = offset;  
        int l = packed.length();
        while (i < l) {
            int count = packed.charAt(i++);
            int value = packed.charAt(i++);
            do {
                result[j++] = value;
            } while (--count > 0);
        }
        return j;
    }
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
Pair #2970 Negative (Non-Clone)
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
Pair #2971 Negative (Non-Clone)
ID: 1202_1026
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.message(PubNub pubnub, PNMessageResult message)
        public void message(PubNub pubnub, PNMessageResult message) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(message);
            inmessage.setHeader(TIMETOKEN, message.getTimetoken());
            inmessage.setHeader(CHANNEL, message.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, message.getTimetoken());

            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            if (exchange.getException() != null) {
                getExceptionHandler().handleException("Error processing exchange", exchange.getException());
            }
        }
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
Pair #2972 Negative (Non-Clone)
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
Pair #2973 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #2974 Negative (Non-Clone)
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 2314_1826
ClassID: 2314
File: systems/camel-java/components/camel-aws/camel-aws-parameter-store/src/main/java/org/apache/camel/component/aws/parameterstore/ParameterStorePropertiesFunction.java
Name: org.apache.camel.component.aws.parameterstore.ParameterStorePropertiesFunction.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        String accessKey = System.getenv(CAMEL_AWS_VAULT_ACCESS_KEY_ENV);
        String secretKey = System.getenv(CAMEL_AWS_VAULT_SECRET_KEY_ENV);
        String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
        boolean useDefaultCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
        boolean useProfileCredentialsProvider
                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
        boolean isOverrideEndpoint = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_IS_OVERRIDE_ENDPOINT));
        String uriEndpointOverride = System.getenv(CAMEL_AWS_VAULT_URI_ENDPOINT_OVERRIDE);
        if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
            AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
            if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
                accessKey = awsVaultConfiguration.getAccessKey();
                secretKey = awsVaultConfiguration.getSecretKey();
                region = awsVaultConfiguration.getRegion();
                useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
                profileName = awsVaultConfiguration.getProfileName();
                isOverrideEndpoint = awsVaultConfiguration.isOverrideEndpoint();
                uriEndpointOverride = awsVaultConfiguration.getUriEndpointOverride();
            }
        }
        this.region = region;
        if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {
            SsmClientBuilder clientBuilder = SsmClient.builder();
            AwsBasicCredentials cred = AwsBasicCredentials.create(accessKey, secretKey);
            clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useDefaultCredentialsProvider && ObjectHelper.isNotEmpty(region)) {
            this.defaultCredentialsProvider = true;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
            this.profleCredentialsProvider = true;
            this.profileName = profileName;
            SsmClientBuilder clientBuilder = SsmClient.builder();
            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
            clientBuilder.region(Region.of(region));
            if (isOverrideEndpoint) {
                if (ObjectHelper.isNotEmpty(uriEndpointOverride)) {
                    clientBuilder.endpointOverride(URI.create(uriEndpointOverride));
                }
            }
            client = clientBuilder.build();
        } else {
            throw new RuntimeCamelException(
                    "Using the AWS Parameter Store Properties Function requires setting AWS credentials as application properties or environment variables");
        }
    }
Pair #2975 Negative (Non-Clone)
ID: 1799_1471
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createMarshaller()
    protected Marshaller createMarshaller() throws JAXBException {
        Marshaller marshaller = getContext().createMarshaller();
        if (schema != null) {
            marshaller.setSchema(cachedSchema);
            marshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return marshaller;
    }
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #2976 Negative (Non-Clone)
ID: 2658_2329
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariablesProcessor.java
Name: org.apache.camel.processor.SetVariablesProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            int variableIndex = 0;
            for (Expression expression : expressions) {
                Object newVariable = expression.evaluate(exchange, Object.class);

                if (exchange.getException() != null) {
                     
                    callback.done(true);
                    return true;
                }
                String key = variableNames.get(variableIndex++).evaluate(exchange, String.class);
                ExchangeHelper.setVariable(exchange, key, newVariable);
            }
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
ID: 188_189
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCloseJob(Exchange exchange, AsyncCallback callback)
    private void processCloseJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeJobState(jobId, JobStateEnum.UPLOAD_COMPLETE, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #2977 Negative (Non-Clone)
ID: 2643_2293
ClassID: 2643
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/SimpleBackOffTimer.java
Name: org.apache.camel.util.backoff.SimpleBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
Pair #2978 Negative (Non-Clone)
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1033_883
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
Name: org.apache.camel.component.undertow.UndertowEndpoint.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList<>();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, getEndpointUri())) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
        if (this.securityProvider == null) {
            this.securityProvider = getComponent().getSecurityProvider();
        }
    }
Pair #2979 Negative (Non-Clone)
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
ID: 497_523
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
Pair #2980 Negative (Non-Clone)
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
Pair #2981 Negative (Non-Clone)
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
ID: 1032_882
ClassID: 1032
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
    public static HttpMethods createMethod(Exchange exchange, HttpCommonEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
        String queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(Exchange.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
             
            uriString = UnsafeUriCharactersEncoder.encodeHttpURI(uriString);
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }

        HttpMethods answer;
        if (endpoint.getHttpMethod() != null) {
             
            answer = endpoint.getHttpMethod();
        } else {
             
            HttpMethods m = exchange.getIn().getHeader(Exchange.HTTP_METHOD, HttpMethods.class);
            if (m != null) {
                 
                answer = m;
            } else if (queryString != null) {
                 
                answer = HttpMethods.GET;
            } else {
                 
                answer = hasPayload ? HttpMethods.POST : HttpMethods.GET;
            }
        }

        return answer;
    }
Pair #2982 Negative (Non-Clone)
ID: 2470_1994
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction.getEndpointUri(Row r)
    protected String getEndpointUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
Pair #2983 Negative (Non-Clone)
ID: 992_847
ClassID: 992
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/batch/Olingo2BatchChangeRequest.java
Name: org.apache.camel.component.olingo2.api.batch.Olingo2BatchChangeRequest.build()
        public Olingo2BatchChangeRequest build() {
             
            if (request.resourcePath == null) {
                throw new IllegalArgumentException("Null resourcePath");
            }
            if (request.operation == null) {
                throw new IllegalArgumentException("Null operation");
            }
            if (request.operation != Operation.DELETE && request.body == null) {
                throw new IllegalArgumentException("Null body");
            }
            return request;
        }
ID: 406_437
ClassID: 406
File: systems/camel-java/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
Name: org.apache.camel.component.couchbase.CouchbaseEndpoint.CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component)
    public CouchbaseEndpoint(String uri, String remaining, CouchbaseComponent component) throws URISyntaxException {
        super(uri, component);
        URI remainingUri = new URI(remaining);

        protocol = remainingUri.getScheme();
        if (protocol == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }

        port = remainingUri.getPort() == -1 ? DEFAULT_COUCHBASE_PORT : remainingUri.getPort();

        hostname = remainingUri.getHost();
        if (hostname == null) {
            throw new IllegalArgumentException(COUCHBASE_URI_ERROR);
        }
    }
Pair #2984 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 1086_926
ClassID: 1086
File: systems/camel-java/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/AsyncInputStream.java
Name: org.apache.camel.component.platform.http.vertx.AsyncInputStream.handleData(Buffer buffer)
    private void handleData(Buffer buffer) {
        Handler<Buffer> handler;
        lock.lock();
        try {
            handler = this.dataHandler;
        } finally {
            lock.unlock();
        }
        if (handler != null) {
            checkContext();
            handler.handle(buffer);
        }
    }
Pair #2985 Negative (Non-Clone)
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
Pair #2986 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 1511_1355
ClassID: 1511
File: systems/camel-java/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/NettyHttpConverterLoader.java
Name: org.apache.camel.component.netty.http.NettyHttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toBytes((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, io.netty.buffer.ByteBuf.class, org.apache.camel.component.netty.http.NettyChannelBufferStreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toByteBuf((org.apache.camel.component.netty.http.NettyChannelBufferStreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toInputStream((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toString((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #2987 Negative (Non-Clone)
ID: 1716_1424
ClassID: 1716
File: systems/camel-java/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrComponent.java
Name: org.apache.camel.component.solr.SolrComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        SolrConfiguration config = new SolrConfiguration();
        config.setSolrClient(this.getSolrClient());
        config.setHost(this.getHost());
        config.setPort(this.getPort());
        config.setCollection(this.getDefaultCollection());
        config.setRequestTimeout(this.getRequestTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setEnableSSL(this.isEnableSSL());
        config.setUsername(this.getUsername());
        config.setPassword(this.getPassword());
        config.configure(uri);

        Endpoint endpoint = new SolrEndpoint(uri, this, config);
        setProperties(endpoint, parameters);

         
         
        if (config.getCollection() == null && config.getSolrClient() != null) {
            config.setCollection(config.getSolrClient().getDefaultCollection());
        }

        return endpoint;
    }
ID: 2597_2212
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloat(final String key)
    public Float getFloat(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #2988 Negative (Non-Clone)
ID: 999_852
ClassID: 999
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Component.java
Name: org.apache.camel.component.olingo4.Olingo4Component.createApiProxy(Olingo4Configuration endpointConfiguration)
    public Olingo4AppWrapper createApiProxy(Olingo4Configuration endpointConfiguration) {
        final Olingo4AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo4App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo4App(endpointConfiguration);
        }
        return result;
    }
ID: 3109_2395
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
Name: org.apache.camel.model.TemplatedRoutesDefinition.createTemplatedRouteDefinition(String id)
    protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
        TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
        if (id != null) {
            templatedRoute.setRouteTemplateRef(id);
        }
        if (resource != null) {
            templatedRoute.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
        return templatedRoute;
    }
Pair #2989 Negative (Non-Clone)
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
ID: 180_168
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request)
    private void doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
        });
    }
Pair #2990 Negative (Non-Clone)
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
ID: 25_40
ClassID: 25
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverter.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverter.toProcessor(final MessageListener listener)
    public Processor toProcessor(final MessageListener listener) {
        return new Processor() {
            public void process(Exchange exchange) throws Exception {
                Message message = toMessage(exchange);
                listener.onMessage(message);
            }

            @Override
            public String toString() {
                return "Processor of MessageListener: " + listener;
            }
        };
    }
Pair #2991 Negative (Non-Clone)
ID: 2270_1790
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.recreateEntityManagerIfNeeded()
    private void recreateEntityManagerIfNeeded() {
         
        if (entityManager == null) {
            if (getEndpoint().isSharedEntityManager()) {
                this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
            } else {
                this.entityManager = entityManagerFactory.createEntityManager();
            }
            LOG.trace("Recreated EntityManager {} on {}", entityManager, this);
        }
    }
ID: 1137_972
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestFilesProducer.java
Name: org.apache.camel.component.github.producer.PullRequestFilesProducer.PullRequestFilesProducer(GitHubEndpoint endpoint)
    public PullRequestFilesProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            LOG.debug("Using PullRequestService found in registry {}", service.getClass().getCanonicalName());
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
Pair #2992 Negative (Non-Clone)
ID: 2558_2129
ClassID: 2558
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRouteParser.java
Name: org.apache.camel.parser.XmlRouteParser.parseXmlRouteSimpleExpressions(InputStream xml, String baseDir, String fullyQualifiedFileName, List<CamelSimpleExpressionDetails> simpleExpressions)
    public static void parseXmlRouteSimpleExpressions(
            InputStream xml, String baseDir, String fullyQualifiedFileName,
            List<CamelSimpleExpressionDetails> simpleExpressions) {

         
         
        Document dom = getDocument(xml);
        if (dom != null) {
            List<Node> nodes = CamelXmlHelper.findAllLanguageExpressions(dom, "simple");
            for (Node node : nodes) {
                String simple = node.getTextContent();
                String lineNumber = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER);
                String lineNumberEnd = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END);

                String fileName = getFileName(baseDir, fullyQualifiedFileName);

                CamelSimpleExpressionDetails detail = new CamelSimpleExpressionDetails();
                detail.setFileName(fileName);
                detail.setLineNumber(lineNumber);
                detail.setLineNumberEnd(lineNumberEnd);
                detail.setSimple(simple);

                String column = (String) node.getUserData(XmlLineNumberParser.COLUMN_NUMBER);
                if (column != null) {
                    detail.setLinePosition(Integer.parseInt(column));
                }

                 
                boolean asPredicate = isSimplePredicate(node);
                detail.setPredicate(asPredicate);
                detail.setExpression(!asPredicate);

                simpleExpressions.add(detail);
            }
        }
    }
ID: 174_140
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResultIds(String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback)
    public void getQueryResultIds(
            String jobId, String batchId, Map<String, List<String>> headers, final QueryResultIdsCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                QueryResultList value = null;
                try {
                    value = unmarshalResponse(response, get, QueryResultList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? Collections.unmodifiableList(value.getResult()) : null, headers, ex);
            }
        });
    }
Pair #2993 Negative (Non-Clone)
ID: 2648_2307
ClassID: 2648
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CustomizersLifecycleStrategy.java
Name: org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onDataFormatCreated(String name, DataFormat dataFormat)
    public void onDataFormatCreated(String name, DataFormat dataFormat) {
        Registry registry = this.camelContext.getRegistry();
        if (registry == null) {
            return;
        }

        Set<DataFormatCustomizer.Policy> filters = registry.findByType(DataFormatCustomizer.Policy.class);
        if (filters.isEmpty() || filters.stream().allMatch(filter -> filter.test(name, dataFormat))) {
            registry.findByType(DataFormatCustomizer.class).stream()
                    .sorted(Comparator.comparingInt(Ordered::getOrder))
                    .filter(customizer -> customizer.isEnabled(name, dataFormat))
                    .forEach(customizer -> customizer.configure(name, dataFormat));
        }
    }
ID: 658_592
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/FlavorsProducer.java
Name: org.apache.camel.component.openstack.nova.producer.FlavorsProducer.messageToFlavor(Message message)
    private org.openstack4j.model.compute.Flavor messageToFlavor(Message message) {
        Flavor flavor = message.getBody(Flavor.class);
        if (flavor == null) {
            Map headers = message.getHeaders();
            FlavorBuilder flavorBuilder = Builders.flavor();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            flavorBuilder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.VCPU)) {
                flavorBuilder.vcpus(message.getHeader(NovaConstants.VCPU, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RAM)) {
                flavorBuilder.ram(message.getHeader(NovaConstants.RAM, Integer.class));
            }

            if (headers.containsKey(NovaConstants.DISK)) {
                flavorBuilder.disk(message.getHeader(NovaConstants.DISK, Integer.class));
            }

            if (headers.containsKey(NovaConstants.SWAP)) {
                flavorBuilder.swap(message.getHeader(NovaConstants.SWAP, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RXTXFACTOR)) {
                flavorBuilder.rxtxFactor(message.getHeader(NovaConstants.RXTXFACTOR, Integer.class));
            }

            flavor = flavorBuilder.build();
        }

        return flavor;
    }
Pair #2994 Negative (Non-Clone)
ID: 3098_2365
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.description(String description)
    public RestDefinition description(String description) {
        if (getVerbs().isEmpty()) {
            super.description(description);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.description(description);
        }

        return this;
    }
ID: 3295_2701
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLSocketFactory>> getSSLSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLSocket>> sslSocketConfigurers = this.getSSLSocketFactorySSLSocketConfigurers(context);

        Configurer<SSLSocketFactory> sslSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLSocketFactory configure(SSLSocketFactory factory) {
                return new SSLSocketFactoryDecorator(
                        factory,
                        sslSocketConfigurers);
            }
        };

        List<Configurer<SSLSocketFactory>> sslSocketFactoryConfigurers = new LinkedList<>();
        sslSocketFactoryConfigurers.add(sslSocketFactoryConfigurer);

        return sslSocketFactoryConfigurers;
    }
Pair #2995 Negative (Non-Clone)
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
Pair #2996 Negative (Non-Clone)
ID: 24_36
ClassID: 24
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #2997 Negative (Non-Clone)
ID: 496_522
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
Pair #2998 Negative (Non-Clone)
ID: 975_822
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredJdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version, true);

                } catch (Exception e) {
                    throw new RuntimeException(
                            "Error removing key " + correlationId + " from repository " + getRepositoryName(), e);
                }
            }
        });
    }
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
Pair #2999 Negative (Non-Clone)
ID: 119_108
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setKeystoreName(String keystoreName)
    public void setKeystoreName(String keystoreName) {
        if (context != null && keystoreName != null) {
            KeyStore keystore = context.getRegistry().lookupByNameAndType(keystoreName, KeyStore.class);
            if (keystore != null) {
                setKeystore(keystore);
            }
        }
        if (keystoreName != null) {
            this.keystoreName = keystoreName;
        }
    }
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #3000 Negative (Non-Clone)
ID: 283_349
ClassID: 283
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = ProtobufSchemaLoader.std.parse(schema);
            } catch (IOException e) {
                throw new RuntimeCamelException("Failed tp parse Protobuf schema", e);
            }
        } else {
            this.schema = null;
        }
    }
ID: 3217_2498
ClassID: 3217
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/InstanceMethodTypeConverter.java
Name: org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(Class<T> type, Exchange exchange, Object value)
    public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
        Object instance = injector.newInstance();
        if (instance == null) {
            throw new RuntimeCamelException("Could not instantiate an instance of: " + type.getCanonicalName());
        }
        Object answer = useExchange
                ? (T) ObjectHelper.invokeMethod(method, instance, value, exchange) : (T) ObjectHelper
                        .invokeMethod(method, instance, value);
        if (answer == null && allowNull) {
            answer = Void.class;
        }
        return (T) answer;
    }
Pair #3001 Negative (Non-Clone)
ID: 3297_2709
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheckRepository(CamelContext context, String id)
    public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
        HealthCheckRepository answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheckRepository> repo = hcr.getRepository(id);
            if (repo.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheckRepository hr = resolver.resolveHealthCheckRepository(id);
                if (hr != null) {
                    repo = Optional.of(hr);
                    hcr.register(hr);
                }
            }
            if (repo.isPresent()) {
                answer = repo.get();
            }
        }
        return answer;
    }
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
Pair #3002 Negative (Non-Clone)
ID: 899_762
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #3003 Negative (Non-Clone)
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #3004 Negative (Non-Clone)
ID: 258_337
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/operations/DataLakeFileSystemOperations.java
Name: org.apache.camel.component.azure.storage.datalake.operations.DataLakeFileSystemOperations.listPaths(final Exchange exchange)
    public DataLakeOperationResponse listPaths(final Exchange exchange) {
        final ListPathsOptions listPathsOptions = configurationProxy.getListPathOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<PathItem> paths = client.listPaths(listPathsOptions, timeout);

        if (ObjectHelper.isEmpty(regex)) {
            return new DataLakeOperationResponse(paths);
        } else {
            List<PathItem> filteredPaths = paths.stream()
                    .filter(x -> x.getName().matches(regex))
                    .collect(Collectors.toCollection(LinkedList<PathItem>::new));
            return new DataLakeOperationResponse(filteredPaths);
        }
    }
ID: 1170_1001
ClassID: 1170
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketEndpoint.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketEndpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
        Consumer consumer;
        if (getConfiguration().isConsumeAsClient()) {
            consumer = new VertxWebsocketClientConsumer(this, processor);
        } else {
            consumer = new VertxWebsocketConsumer(this, processor);
        }
        configureConsumer(consumer);
        return consumer;
    }
Pair #3005 Negative (Non-Clone)
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #3006 Negative (Non-Clone)
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3007 Negative (Non-Clone)
ID: 925_800
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);

        if (headerFilterStrategy == null) {
            headerFilterStrategy = new GooglePubsubHeaderFilterStrategy(includeAllGoogleProperties);
        }
    }
ID: 3235_2554
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeadersReifier.java
Name: org.apache.camel.reifier.SetHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getHeaders().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one header specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        for (SetHeaderDefinition hdrDef : definition.getHeaders()) {
            valueExprs.add(createExpression(hdrDef.getExpression()));
            Expression nameExpr;
            String key = parseString(hdrDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetHeadersProcessor answer = new SetHeadersProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3008 Negative (Non-Clone)
ID: 982_841
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameterSrc()
  final public Token InParameterSrc() throws ParseException {Token ret = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SIMPLE_EXP_TOKEN:{
      ret = jj_consume_token(SIMPLE_EXP_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    case PARAMETER_POS_TOKEN:{
      ret = jj_consume_token(PARAMETER_POS_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    default:
      jj_la1[11] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
}
ID: 1108_943
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-functiongraph/src/main/java/org/apache/camel/FunctionGraphEndpoint.java
Name: org.apache.camel.FunctionGraphEndpoint.initClient()
    public FunctionGraphClient initClient() {
        if (functionGraphClient != null) {
            return functionGraphClient;
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(FunctionGraphRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #3009 Negative (Non-Clone)
ID: 442_465
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.HttpClientInitializerFactory(NettyHttpProducer nettyProducer)
    public HttpClientInitializerFactory(NettyHttpProducer nettyProducer) {
        this.producer = nettyProducer;
        try {
            this.sslContext = createSSLContext(producer);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
        configuration = nettyProducer.getConfiguration();
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #3010 Negative (Non-Clone)
ID: 2611_2249
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(PojoBeanModel model)
    public static JsonObject asJsonObject(PojoBeanModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("bean", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 220_251
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.sqs.receiveMessage");

        if (message.getHeaders().containsKey(Sqs2Constants.RECEIPT_HANDLE)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.sqs.queue." + message.getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(Sqs2Constants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
Pair #3011 Negative (Non-Clone)
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 2448_1933
ClassID: 2448
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.RunHelper.walk(Path dir)
    public static Stream<Path> walk(Path dir) {
        try {
            if (Files.isDirectory(dir)) {
                return Files.walk(dir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #3012 Negative (Non-Clone)
ID: 1282_1128
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveVertex()
    private Function<Exchange, Object> saveVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.insertVertex(vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
Pair #3013 Negative (Non-Clone)
ID: 1189_1018
ClassID: 1189
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.getNextEntry()
    private ZipArchiveEntry getNextEntry() throws IOException {
        ZipArchiveEntry entry;

        while ((entry = zipInputStream.getNextEntry()) != null) {
            if (!entry.isDirectory()) {
                return entry;
            } else {
                if (allowEmptyDirectory) {
                    return entry;
                }
            }
        }

        return null;
    }
ID: 2560_2133
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateYamlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateYamlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslYamlGenerator generator = RestDslGenerator.toYaml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String yaml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(yaml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #3014 Negative (Non-Clone)
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
ID: 2525_2093
ClassID: 2525
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/Main.java
Name: org.apache.camel.main.Main.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #3015 Negative (Non-Clone)
ID: 179_164
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, queryJobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 2472_2012
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jph = (JsonObject) root.get("platform-http");
                        if (jph != null) {
                            String server = jph.getString("server");
                            JsonArray arr = (JsonArray) jph.get("endpoints");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    JsonObject jo = (JsonObject) arr.get(i);
                                    row.server = server;
                                    row.url = jo.getString("url");
                                    row.path = jo.getString("path");
                                    row.verbs = jo.getString("verbs");
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    rows.add(row);
                                }
                            }
                            if (all) {
                                arr = (JsonArray) jph.get("managementEndpoints");
                                if (arr != null) {
                                    for (int i = 0; i < arr.size(); i++) {
                                        row = row.copy();
                                        JsonObject jo = (JsonObject) arr.get(i);
                                        row.server = server;
                                        row.url = jo.getString("url");
                                        row.path = jo.getString("path");
                                        row.verbs = jo.getString("verbs");
                                        row.consumes = jo.getString("consumes");
                                        row.produces = jo.getString("produces");
                                        rows.add(row);
                                    }
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.verbs),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #3016 Negative (Non-Clone)
ID: 1137_974
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/ClosePullRequestProducer.java
Name: org.apache.camel.component.github.producer.ClosePullRequestProducer.ClosePullRequestProducer(GitHubEndpoint endpoint)
    public ClosePullRequestProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3017 Negative (Non-Clone)
ID: 1196_1024
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValue(Message message)
    protected void getValue(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient()
                    .getValueAsString(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class))
                    .orElse(null);
        } else {
            result = getClient()
                    .getValue(
                            getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                            message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class))
                    .orElse(null);
        }

        setBodyAndResult(message, result);
    }
ID: 1311_1197
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doListPodsByLabel(Exchange exchange)
    protected void doListPodsByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        PodList podList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get pods by labels require specify a labels set");
            throw new IllegalArgumentException("Get pods by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().withLabels(labels).list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
Pair #3018 Negative (Non-Clone)
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #3019 Negative (Non-Clone)
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 1978_1619
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #3020 Negative (Non-Clone)
ID: 3281_2671
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.put(K key, V value, long timeoutMillis)
    public V put(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        lock.lock();
        try {
            updateExpireTime(entry);
            TimeoutMapEntry<K, V> result = map.put(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            emitEvent(Put, key, value);
        }
    }
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
Pair #3021 Negative (Non-Clone)
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
ID: 302_361
ClassID: 302
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AzureServiceBusSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount.toString());
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber.toString());
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
Pair #3022 Negative (Non-Clone)
ID: 3289_2689
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.condition()
        private BiPredicate<String, DataFormat> condition() {
            if (type.equals(DataFormat.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, DataFormat language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, DataFormat target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, DataFormat target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
ID: 2565_2141
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> importants = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isEip = !isComponent && obj.getMap("model") != null;

                 
                if (!isComponent && !isEip) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getEndpointHeaders().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                } else if (isEip) {
                    EipModel em = JsonMapper.generateEipModel(json);
                    em.getExchangeProperties().forEach(o -> {
                        if (o.isImportant()) {
                            importants.add(o.getName());
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

        getLog().info("There are " + importants.size()
                      + " distinct important options across all the Camel components/eips");

        try {
            boolean updated = updateImportantHeaderKeys(camelDir, importants);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/ImportantHeaderUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating ImportantHeaderUtils.java", e);
        }

        try {
            updateImportantHeaderJsonSchema(baseDir, importants);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating important-headers.json", e);
        }
    }
Pair #3023 Negative (Non-Clone)
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3024 Negative (Non-Clone)
ID: 2600_2219
ClassID: 2600
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.toJson(final Writer writable)
    public void toJson(final Writer writable) throws IOException {
         
        boolean isFirstEntry = true;
        final Iterator<Map.Entry<String, Object>> entries = this.entrySet().iterator();
        writable.write('{');
        while (entries.hasNext()) {
            if (isFirstEntry) {
                isFirstEntry = false;
            } else {
                writable.write(',');
            }
            final Map.Entry<String, Object> entry = entries.next();
            Jsoner.serialize(entry.getKey(), writable);
            writable.write(':');
            Jsoner.serialize(entry.getValue(), writable);
        }
        writable.write('}');
    }
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
Pair #3025 Negative (Non-Clone)
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #3026 Negative (Non-Clone)
ID: 1958_1597
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.query(Exchange exchange)
    private void query(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVector(topK, elements, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
Pair #3027 Negative (Non-Clone)
ID: 112_106
ClassID: 112
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #3028 Negative (Non-Clone)
ID: 1499_1348
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16BE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
            }
        }

        return d;
    }
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
Pair #3029 Negative (Non-Clone)
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
ID: 1693_1420
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseProperty(String key, String value, PropertiesLookup properties)
    public String parseProperty(String key, String value, PropertiesLookup properties) {
        String answer = parser.parseProperty(key, value, properties);
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(value, properties);
        }
        return answer;
    }
Pair #3030 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 1313_1203
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doCreateOrUpdateService(Exchange exchange, String operationName, Function<Resource<Service>, Service> operation)
    private void doCreateOrUpdateService(
            Exchange exchange, String operationName, Function<Resource<Service>, Service> operation) {
        String serviceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceSpec serviceSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_SPEC, ServiceSpec.class);
        if (ObjectHelper.isEmpty(serviceName)) {
            LOG.error("{} a specific service require specify a service name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific service require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(serviceSpec)) {
            LOG.error("{} a specific service require specify a service spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific service require specify a service spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        Service serviceCreating = new ServiceBuilder().withNewMetadata().withName(serviceName).withLabels(labels).endMetadata()
                .withSpec(serviceSpec).build();
        Service service
                = operation.apply(
                        getEndpoint().getKubernetesClient().services().inNamespace(namespaceName).resource(serviceCreating));

        prepareOutboundMessage(exchange, service);
    }
Pair #3031 Negative (Non-Clone)
ID: 1313_1206
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doCreateOrUpdateResourceQuota(Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation)
    private void doCreateOrUpdateResourceQuota(
            Exchange exchange, String operationName, Function<Resource<ResourceQuota>, ResourceQuota> operation) {
        String rqName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaSpec rqSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC, ResourceQuotaSpec.class);
        if (ObjectHelper.isEmpty(rqName)) {
            LOG.error("{} a specific resource quota require specify a resource quota name", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific resource quota require specify a namespace name", operationName);
            throw new IllegalArgumentException(operationName + " a specific resource quota require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(rqSpec)) {
            LOG.error("{} a specific resource quota require specify a resource quota spec bean", operationName);
            throw new IllegalArgumentException(
                    operationName + " a specific resource quota require specify a resource quota spec bean");
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS, Map.class);
        ResourceQuota rqCreating = new ResourceQuotaBuilder().withNewMetadata().withName(rqName).withLabels(labels)
                .endMetadata().withSpec(rqSpec).build();
        ResourceQuota rq
                = operation.apply(
                        getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespaceName).resource(rqCreating));

        prepareOutboundMessage(exchange, rq);
    }
ID: 3167_2431
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        this.sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
Pair #3032 Negative (Non-Clone)
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 3331_2727
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.poll()
    public V poll() {
        final ReentrantLock lock = this.lock;
        lock.lock();
        try {
            Task t = queue.peek();
            if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                queue.poll();
                return t.result;
            } else {
                return null;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3033 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
Pair #3034 Negative (Non-Clone)
ID: 189_201
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetJob(Exchange exchange, AsyncCallback callback)
    private void processGetJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        Job job = exchange.getIn().getBody(Job.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 2510_2063
ClassID: 2510
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.isBanned(ClassInfo ci)
    protected boolean isBanned(ClassInfo ci) {
        if (bannedDefinitions != null) {
            for (String bannedDefinition : bannedDefinitions) {
                if (AntPathMatcher.INSTANCE.match(bannedDefinition.replace('.', '/'), ci.name().toString('/'))) {
                    getLog().debug("Skipping definition: " + ci.name().toString());
                    return true;
                }
            }
        }

        return false;
    }
Pair #3035 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #3036 Negative (Non-Clone)
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
ID: 2660_2338
ClassID: 2660
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesFunctionResolver.java
Name: org.apache.camel.component.properties.DefaultPropertiesFunctionResolver.resolve(CamelContext context, String name)
    private PropertiesFunction resolve(CamelContext context, String name) {
         
        Class<?> type = null;
        try {
            type = findFactory(name, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found PropertiesFunction: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), name);
            }
            if (PropertiesFunction.class.isAssignableFrom(type)) {
                PropertiesFunction answer = (PropertiesFunction) context.getInjector().newInstance(type, false);
                CamelContextAware.trySetCamelContext(answer, camelContext);
                ServiceHelper.startService(answer);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a PropertiesFunction implementation. Found: " + type.getName());
            }
        }

        return null;
    }
Pair #3037 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1725_1448
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.getCharsetFromExchange(Exchange exchange)
    public static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(VertxHttpConstants.CONTENT_TYPE, String.class);
            charset = IOHelper.getCharsetNameFromContentType(contentType);
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
Pair #3038 Negative (Non-Clone)
ID: 1428_1283
ClassID: 1428
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/Importance.java
Name: org.apache.camel.component.as2.api.entity.Importance.get(String importance)
    public static Importance get(String importance) {
        if (importance == null) {
            return null;
        }

        switch (importance.toLowerCase()) {
            case "required":
                return REQUIRED;
            case "optional":
                return OPTIONAL;
            default:
                return null;
        }
    }
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #3039 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 3098_2366
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.id(String id)
    public RestDefinition id(String id) {
        if (getVerbs().isEmpty()) {
            super.id(id);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.id(id);
        }

        return this;
    }
Pair #3040 Negative (Non-Clone)
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3041 Negative (Non-Clone)
ID: 2645_2297
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledExchangeFactory.create(Endpoint fromEndpoint, boolean autoRelease)
    public Exchange create(Endpoint fromEndpoint, boolean autoRelease) {
        Exchange exchange = pool.poll();
        if (exchange == null) {
             
            exchange = createPooledExchange(fromEndpoint, autoRelease);
            if (statisticsEnabled) {
                statistics.created.increment();
            }
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();

        return exchange;
    }
ID: 284_350
ClassID: 284
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        JsonNode answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.JSON.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #3042 Negative (Non-Clone)
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
Pair #3043 Negative (Non-Clone)
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
ID: 2377_1869
ClassID: 2377
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
Name: org.apache.camel.component.jt400.Jt400Configuration.setFieldsLength(String fieldsLength)
    public void setFieldsLength(String fieldsLength) {
        if (fieldsLength != null) {
            String[] outputArray = fieldsLength.split(",");
            outputFieldsLengthArray = new Integer[outputArray.length];
            for (int i = 0; i < outputArray.length; i++) {
                String str = outputArray[i];
                outputFieldsLengthArray[i] = Integer.parseInt(str);
            }
        }
    }
Pair #3044 Negative (Non-Clone)
ID: 3164_2422
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3271_2643
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #3045 Negative (Non-Clone)
ID: 1435_1298
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeEnvelopedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeEnvelopedDataEntity parseApplicationPkcs7MimeEnvelopedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] encryptedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeEnvelopedDataEntity(encryptedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 655_575
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ObjectProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ObjectProducer.doCreate(Exchange exchange)
    private void doCreate(Exchange exchange) {
        final Message msg = exchange.getIn();
        final Payload payload = createPayload(msg);
        final String containerName = msg.getHeader(SwiftConstants.CONTAINER_NAME, String.class);
        final String objectName = msg.getHeader(SwiftConstants.OBJECT_NAME, String.class);
        StringHelper.notEmpty(containerName, "Container name");
        StringHelper.notEmpty(objectName, "Object name");
        final String etag = os.objectStorage().objects().put(containerName, objectName, payload);
        msg.setBody(etag);
    }
Pair #3046 Negative (Non-Clone)
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
ID: 2045_1657
ClassID: 2045
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRenameRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        if (removeOnCommit) {
            idempotentRepository.remove(exchange, key);
        } else {
             
            idempotentRepository.confirm(exchange, key);
        }

        rename.releaseExclusiveReadLockOnCommit(operations, file, exchange);
    }
Pair #3047 Negative (Non-Clone)
ID: 837_720
ClassID: 837
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3048 Negative (Non-Clone)
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 900_770
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/BatchGoogleSheetsClientFactory.java
Name: org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Sheets makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Google Sheets client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Sheets.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Sheets client.", e);
        }
    }
Pair #3049 Negative (Non-Clone)
ID: 2651_2314
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onFailure(final Exchange exchange)
        public void onFailure(final Exchange exchange) {
            if (shouldSkip(exchange, onCompleteOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);
            final Exception original = copy.getException();
            if (original != null) {
                 
                 
                copy.setException(null);
            }

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onFailure: {}", copy);
                    doProcess(processor, copy);
                     
                    copy.setException(original);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onFailure: {}", copy);
                doProcess(processor, copy);
                 
                copy.setException(original);
            }
        }
ID: 234_287
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #3050 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 1993_1636
ClassID: 1993
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.fromApp(Message message, SessionID sessionID)
        public void fromApp(Message message, SessionID sessionID)
                throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
            try {
                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, message);
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                rethrowIfType(e, FieldNotFound.class);
                rethrowIfType(e, IncorrectDataFormat.class);
                rethrowIfType(e, IncorrectTagValue.class);
                rethrowIfType(e, UnsupportedMessageType.class);
                throw new DispatcherException(e);
            }
        }
Pair #3051 Negative (Non-Clone)
ID: 1954_1592
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/ManagementProducer.java
Name: org.apache.camel.component.torchserve.producer.ManagementProducer.unregister(Exchange exchange)
    private void unregister(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        UnregisterOptions options = Optional
                .ofNullable(message.getHeader(TorchServeConstants.UNREGISTER_OPTIONS, UnregisterOptions.class))
                .or(() -> Optional.ofNullable(configuration.getUnregisterOptions()))
                .orElse(UnregisterOptions.empty());
        Response response;
        if (modelVersion == null) {
            response = this.management.unregisterModel(modelName, options);
        } else {
            response = this.management.unregisterModel(modelName, modelVersion, options);
        }
        message.setBody(response.getStatus());
    }
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #3052 Negative (Non-Clone)
ID: 27_51
ClassID: 27
File: systems/camel-java/components/camel-mongodb-gridfs/src/generated/java/org/apache/camel/component/mongodb/gridfs/GridFsConverterLoader.java
Name: org.apache.camel.component.mongodb.gridfs.GridFsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.mongodb.ReadPreference.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toReadPreference((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, com.mongodb.WriteConcern.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mongodb.gridfs.GridFsConverter.toWriteConcern((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 176_155
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.executeAsyncReport(String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers, final ReportInstanceResponseCallback callback)
    public void executeAsyncReport(
            String reportId, Boolean includeDetails, ReportMetadata reportMetadata, final Map<String, List<String>> headers,
            final ReportInstanceResponseCallback callback) {

        final Request request = getRequest(HttpMethod.POST, reportInstancesUrl(reportId, includeDetails), headers);

         
        if (reportMetadata != null) {
            try {
                 
                final HashMap<String, Object> input = new HashMap<>();
                input.put("reportMetadata", reportMetadata);
                marshalRequest(input, request);
            } catch (SalesforceException e) {
                callback.onResponse(null, Collections.emptyMap(), e);
                return;
            }
        }

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                ReportInstance reportInstance = null;
                try {
                    reportInstance = unmarshalResponse(response, request, ReportInstance.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(reportInstance, headers, ex);
            }
        });
    }
Pair #3053 Negative (Non-Clone)
ID: 3278_2662
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.contains(final Expression left, final Expression right)
    public static Predicate contains(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, false);
            }

            protected String getOperationText() {
                return "contains";
            }
        };
    }
ID: 2176_1708
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration)
    private void configureAuthentication(MainHttpServer server, HttpServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
Pair #3054 Negative (Non-Clone)
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2638_2279
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(Endpoint endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            Endpoint endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
Pair #3055 Negative (Non-Clone)
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
ID: 244_317
ClassID: 244
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/KeyVaultPropertiesFunction.java
Name: org.apache.camel.component.azure.key.vault.KeyVaultPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {
        String returnValue;

         
        secrets.add(key);

        try {
            KeyVaultSecret secret = client.getSecret(key, ObjectHelper.isNotEmpty(version) ? version : "");
            returnValue = secret.getValue();
            if (ObjectHelper.isNotEmpty(subkey)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ResourceNotFoundException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
Pair #3056 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 1001_857
ClassID: 1001
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.createConsumer(Processor processor)
    public Consumer createConsumer(Processor processor) throws Exception {
         
        if (inBody != null) {
            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
        }
         
        if (!READ_METHOD.equals(methodName) && !UREAD_METHOD.equals(methodName)) {
            throw new IllegalArgumentException("Only read method is supported for consumer endpoints");
        }
        final Olingo2Consumer consumer = new Olingo2Consumer(this, processor);
        consumer.setSplitResult(configuration.isSplitResult());
        configureConsumer(consumer);
        return consumer;
    }
Pair #3057 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
Pair #3058 Negative (Non-Clone)
ID: 3283_2676
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createJsonMaskPattern(Set<String> keywords)
    protected Pattern createJsonMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "\\\"(");
        regex.append(")\\\"(\\s*?):(\\s*?)\\\"([^\"]*)\\\"");

        if (LOG.isDebugEnabled()) {
            LOG.debug("JSon Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 3173_2444
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean generatedIds, boolean sourceLocation) throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }
        return PluginHelper.getModelToXMLDumper(context).dumpModelAsXml(context, def, resolvePlaceholders, generatedIds,
                sourceLocation);
    }
Pair #3059 Negative (Non-Clone)
ID: 2567_2146
ClassID: 2567
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateTestConfigurerMojo.java
Name: org.apache.camel.maven.packaging.GenerateTestConfigurerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        if (sourcesOutputDir == null) {
            sourcesOutputDir = new File(project.getBasedir(), "src/test/java");
        }
        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/test/resources");
        }

        doExecute(sourcesOutputDir, resourcesOutputDir, classes, true);
    }
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #3060 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 2433_1904
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/InfraBaseDTO.java
Name: org.apache.camel.dsl.jbang.core.model.InfraBaseDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("alias", alias);
        if (aliasImplementation != null) {
            jo.put("aliasImplementation", aliasImplementation);
        }
        if (description != null) {
            jo.put("description", description);
        }
        if (serviceData != null) {
            jo.put("serviceData", serviceData);
        }
        return jo;
    }
Pair #3061 Negative (Non-Clone)
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
ID: 2667_2352
ClassID: 2667
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.hasFailed(Exchange exchange)
    private boolean hasFailed(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (throttledExceptions == null || throttledExceptions.isEmpty()) {
                 
                 
                answer = true;
            } else {
                for (Class<?> exception : throttledExceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }
        }

        if (LOG.isDebugEnabled()) {
            String exceptionName
                    = exchange.getException() == null ? "none" : exchange.getException().getClass().getSimpleName();
            LOG.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName,
                    exchange.getExchangeId());
        }
        return answer;
    }
Pair #3062 Negative (Non-Clone)
ID: 10_3
ClassID: 10
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.onInvalidateAll(Message message)
    public void onInvalidateAll(Message message) {

        Set<?> keys = message.getHeader(CaffeineConstants.KEYS, Set.class);
         
        if (keys == null) {
            cache.invalidateAll();
        } else {
            cache.invalidateAll(keys);
        }

        setResult(message, true, null, null);
    }
ID: 2042_1650
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getDirectoryPermissions()
    public Set<PosixFilePermission> getDirectoryPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmodDirectory)) {
            return permissions;
        }

         
        String chmodString = chmodDirectory.substring(chmodDirectory.length() - 3);

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
Pair #3063 Negative (Non-Clone)
ID: 2470_1998
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.getEndpointUri(StatusRow r)
    protected String getEndpointUri(StatusRow r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 3240_2567
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
Name: org.apache.camel.reifier.SetHeaderReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "headerName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetHeaderProcessor answer = new SetHeaderProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3064 Negative (Non-Clone)
ID: 3222_2508
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/NumericExpression.java
Name: org.apache.camel.language.simple.ast.NumericExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == int.class || type == Integer.class
                        || type == long.class || type == Long.class
                        || type == double.class || type == Double.class) {
                    return type.cast(number);
                }
                return exchange.getContext().getTypeConverter().tryConvertTo(type, exchange, number);
            }

            @Override
            public String toString() {
                return String.valueOf(number);
            }
        };
    }
ID: 2478_2025
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
Pair #3065 Negative (Non-Clone)
ID: 3207_2473
ClassID: 3207
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ServiceDevConsole.java
Name: org.apache.camel.impl.console.ServiceDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        EndpointServiceRegistry esr = getCamelContext().getCamelContextExtension().getEndpointServiceRegistry();
        for (EndpointServiceRegistry.EndpointService es : esr.listAllEndpointServices()) {
            if (!sb.isEmpty()) {
                sb.append("\n");
            }
            sb.append(String.format("\n    Component: %s", es.getComponent()));
            sb.append(String.format("\n    Direction: %s", es.getDirection()));
            sb.append(String.format("\n    Hosted: %b", es.isHostedService()));
            sb.append(String.format("\n    Protocol: %s", es.getServiceProtocol()));
            sb.append(String.format("\n    Service: %s", es.getServiceUrl()));
            sb.append(String.format("\n    Endpoint: %s", URISupport.sanitizeUri(es.getServiceUrl())));
            if (es.getRouteId() != null) {
                sb.append(String.format("\n    Route Id: %s", es.getRouteId()));
            }
            sb.append(String.format("\n    Total Messages: %d", es.getHits()));
        }
        sb.append("\n");

        return sb.toString();
    }
ID: 2560_2134
ClassID: 2560
File: systems/camel-java/tooling/maven/camel-restdsl-openapi-plugin/src/main/java/org/apache/camel/maven/generator/openapi/GenerateXmlMojo.java
Name: org.apache.camel.maven.generator.openapi.GenerateXmlMojo.execute(boolean dto)
    protected void execute(boolean dto) throws MojoExecutionException {
        if (skip) {
            return;
        }

        OpenAPI openapi = new OpenAPIV3Parser().read(specificationUri);

        if (openapi == null) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: "
                                             + specificationUri
                                             + ", make sure that the specification is available at the given URI");
        }

        final RestDslXmlGenerator generator = RestDslGenerator.toXml(openapi);

        if (ObjectHelper.isNotEmpty(basePath)) {
            generator.withBasePath(basePath);
        }

        if (ObjectHelper.isNotEmpty(filterOperation)) {
            generator.withOperationFilter(filterOperation);
        }
        if (dto) {
            if (modelPackage != null) {
                generator.withDtoPackageName(modelPackage);
            }
        }

        if (ObjectHelper.isNotEmpty(destinationGenerator)) {
            final DestinationGenerator destinationGeneratorObject = createDestinationGenerator();
            generator.withDestinationGenerator(destinationGeneratorObject);
        } else if (ObjectHelper.isNotEmpty(destinationToSyntax)) {
            generator.withDestinationToSyntax(destinationToSyntax);
        }

        if (restConfiguration) {
            generator.withRestComponent(findAppropriateComponent());
            if (clientRequestValidation) {
                generator.withClientRequestValidation();
            }
            if (ObjectHelper.isNotEmpty(apiContextPath)) {
                generator.withApiContextPath(apiContextPath);
            }
        }

        try {
            final CamelContext camel = new DefaultCamelContext();
            final String xml = generator.generate(camel);

             
            new File(outputDirectory).mkdirs();
            final File out = new File(outputDirectory, fileName);

            try (FileOutputStream fos = new FileOutputStream(out)) {
                fos.write(xml.getBytes());
            }
        } catch (final Exception e) {
            throw new MojoExecutionException(
                    "Unable to generate REST DSL OpenApi sources from specification: " + specificationUri, e);
        }
    }
Pair #3066 Negative (Non-Clone)
ID: 1723_1443
ClassID: 1723
File: systems/camel-java/components/camel-elasticsearch/src/generated/java/org/apache/camel/component/es/converter/ElasticsearchActionRequestConverterLoader.java
Name: org.apache.camel.component.es.converter.ElasticsearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, co.elastic.clients.elasticsearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.es.converter.ElasticsearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3284_2679
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertHeaderProcessor.java
Name: org.apache.camel.support.processor.ConvertHeaderProcessor.ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName, Class<?> type, String charset, boolean mandatory)
    public ConvertHeaderProcessor(String name, Expression headerName, String toName, Expression toHeaderName,
                                  Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(headerName, "headerName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.headerName = headerName;
        this.toName = toName;
        this.toHeaderName = toHeaderName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
Pair #3067 Negative (Non-Clone)
ID: 1957_1596
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Index index = this.client.getIndexConnection(indexName);

        UpdateResponse result = index.update(indexId, elements, namespace);

        populateUpdateResponse(result, exchange);

    }
ID: 2250_1781
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemoveAsync(Message message)
    public void onRemoveAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final CompletableFuture<Object> resultRemoveAsyncKey;
        final CompletableFuture<Boolean> resultRemoveAsyncKeyValue;

        if (ObjectHelper.isEmpty(value)) {
            resultRemoveAsyncKey = cache.removeAsync(key);
            setResult(message, resultRemoveAsyncKey);
        } else {
            resultRemoveAsyncKeyValue = cache.removeAsync(key, value);
            setResult(message, resultRemoveAsyncKeyValue);
        }
    }
Pair #3068 Negative (Non-Clone)
ID: 304_365
ClassID: 304
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                try {
                    path = URLDecoder.decode(path, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    LOG.warn("Failed to decode URL path '{}', ignoring exception", path, e);
                }
            }
        }
        return path;
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #3069 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 2187_1720
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanKeysProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanKeysProducer.deleteKey(Exchange exchange)
    private void deleteKey(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer keyId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String fingerprint = exchange.getIn().getHeader(DigitalOceanHeaders.KEY_FINGERPRINT, String.class);
        Delete delete;

        if (ObjectHelper.isNotEmpty(keyId)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(keyId);
        } else if (ObjectHelper.isNotEmpty(fingerprint)) {
            delete = getEndpoint().getDigitalOceanClient().deleteKey(fingerprint);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.KEY_FINGERPRINT + " must be specified");
        }

        LOG.trace("Delete Key {}", delete);
        exchange.getMessage().setBody(delete);
    }
Pair #3070 Negative (Non-Clone)
ID: 378_413
ClassID: 378
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/QueueReplyManager.java
Name: org.apache.camel.component.sjms.reply.QueueReplyManager.createDestination(Session session, String destinationName, boolean topic)
        public Destination createDestination(Session session, String destinationName, boolean topic) throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.createDestination(session, destinationName, topic);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
Pair #3071 Negative (Non-Clone)
ID: 3248_2590
ClassID: 3248
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupDevConsoleRegistry()
    private void setupDevConsoleRegistry() {
        DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class);
        if (devConsoleRegistry != null) {
            devConsoleRegistry.setCamelContext(getContext());
            LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry);
            getContext().getCamelContextExtension().addContextPlugin(DevConsoleRegistry.class, devConsoleRegistry);
        } else {
             
            devConsoleRegistry = DevConsoleRegistry.get(getContext());
            if (devConsoleRegistry != null) {
                devConsoleRegistry.setCamelContext(getContext());
            }
        }
        if (devConsoleRegistry != null) {
            Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class);
            for (DevConsole console : consoles) {
                devConsoleRegistry.register(console);
            }
        }
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #3072 Negative (Non-Clone)
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #3073 Negative (Non-Clone)
ID: 1310_1176
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        HorizontalPodAutoscalerList hpaList;

        if (ObjectHelper.isEmpty(namespace)) {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace().list();
        } else {
            hpaList = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inNamespace(namespace)
                    .list();
        }

        prepareOutboundMessage(exchange, hpaList.getItems());
    }
ID: 2462_1966
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.updatePids(Map<Long, Row> rows)
    private void updatePids(Map<Long, Row> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Row row = new Row();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #3074 Negative (Non-Clone)
ID: 1435_1299
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeCompressedDataEntity parseApplicationPkcs7MimeCompressedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] compressedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeCompressedDataEntity(compressedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 2458_1958
ClassID: 2458
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyGradleWrapper()
    protected void copyGradleWrapper() throws Exception {
        Path wrapperPath = Paths.get(BUILD_DIR, "gradle/wrapper");
        Files.createDirectories(wrapperPath);
         
        Path gradlewPath = Paths.get(BUILD_DIR, "gradlew");
        Path gradlewBatPath = Paths.get(BUILD_DIR, "gradlew.bat");
        Path wrapperJarPath = wrapperPath.resolve("gradle-wrapper.jar");
        Path wrapperPropsPath = wrapperPath.resolve("gradle-wrapper.properties");

        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew")) {
            Files.copy(is, gradlewPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradlew.bat")) {
            Files.copy(is, gradlewBatPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.jar")) {
            Files.copy(is, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING);
        }
        try (InputStream is
                = ExportBaseCommand.class.getClassLoader().getResourceAsStream("gradle-wrapper/gradle-wrapper.properties")) {
            Files.copy(is, wrapperPropsPath, StandardCopyOption.REPLACE_EXISTING);
        }

         
        FileUtil.setPosixFilePermissions(gradlewPath, "rwxr-xr-x");
        FileUtil.setPosixFilePermissions(gradlewBatPath, "rwxr-xr-x");
    }
Pair #3075 Negative (Non-Clone)
ID: 1310_1184
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
ID: 248_322
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventProcessorClient(final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent, final Consumer<ErrorContext> processError)
    public static EventProcessorClient createEventProcessorClient(
            final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent,
            final Consumer<ErrorContext> processError) {
        EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .initialPartitionEventPosition(configuration.getEventPosition())
                .checkpointStore(createCheckpointStore(configuration))
                .consumerGroup(configuration.getConsumerGroupName())
                .retryOptions(configuration.getAmqpRetryOptions())
                .transportType(configuration.getAmqpTransportType())
                .processError(processError)
                .processEvent(processEvent);

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventProcessorClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildEventProcessorClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventProcessorClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildEventProcessorClient();
        }
        return eventProcessorClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildEventProcessorClient();
    }
Pair #3076 Negative (Non-Clone)
ID: 1282_1128
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveVertex()
    private Function<Exchange, Object> saveVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.insertVertex(vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
Pair #3077 Negative (Non-Clone)
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
ID: 464_494
ClassID: 464
File: systems/camel-java/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
Name: org.apache.camel.component.dhis2.internal.Dhis2ApiCollection.getEndpointConfiguration(Dhis2ApiName apiName)
    public Dhis2Configuration getEndpointConfiguration(Dhis2ApiName apiName) {
        Dhis2Configuration result = null;
        switch (apiName) {
            case POST:
                result = new Dhis2PostEndpointConfiguration();
                break;
            case RESOURCE_TABLES:
                result = new Dhis2ResourceTablesEndpointConfiguration();
                break;
            case GET:
                result = new Dhis2GetEndpointConfiguration();
                break;
            case DELETE:
                result = new Dhis2DeleteEndpointConfiguration();
                break;
            case PUT:
                result = new Dhis2PutEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3078 Negative (Non-Clone)
ID: 3288_2687
ClassID: 3288
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/DataFormatCustomizer.java
Name: org.apache.camel.spi.DataFormatCustomizer.build(ThrowingBiConsumer<String, T, Exception> consumer)
        public DataFormatCustomizer build(ThrowingBiConsumer<String, T, Exception> consumer) {
            final int order = this.order;
            final BiPredicate<String, DataFormat> condition = condition();

            return new DataFormatCustomizer() {
                @SuppressWarnings("unchecked")
                @Override
                public void configure(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    try {
                        consumer.accept(name, (T) target);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }

                @Override
                public boolean isEnabled(String name, DataFormat target) {
                    ObjectHelper.notNull(name, "data format name");
                    ObjectHelper.notNull(target, "data format instance");

                    return condition.test(name, target);
                }

                @Override
                public int getOrder() {
                    return order;
                }
            };
        }
ID: 1723_1444
ClassID: 1723
File: systems/camel-java/components/camel-opensearch/src/generated/java/org/apache/camel/component/opensearch/converter/OpensearchActionRequestConverterLoader.java
Name: org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.opensearch.client.opensearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3079 Negative (Non-Clone)
ID: 2472_2008
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInternalTask.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("internal-tasks");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("tasks");
                            for (int i = 0; i < arr.size(); i++) {
                                jo = (JsonObject) arr.get(i);
                                row = row.copy();
                                row.task = jo.getString("name");
                                row.status = jo.getString("status");
                                row.attempts = jo.getLong("attempts");
                                row.delay = jo.getLong("delay");
                                row.elapsed = jo.getLong("elapsed");
                                row.firstTime = jo.getLong("firstTime");
                                row.lastTime = jo.getLong("lastTime");
                                row.nextTime = jo.getLong("nextTime");
                                row.error = jo.getString("error");
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("TASK").dataAlign(HorizontalAlign.LEFT).with(r -> r.task),
                    new Column().header("STATUS").dataAlign(HorizontalAlign.LEFT).with(r -> r.status),
                    new Column().header("ATTEMPT").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.attempts),
                    new Column().header("DELAY").dataAlign(HorizontalAlign.LEFT).with(r -> "" + r.delay),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.LEFT).with(this::getElapsed),
                    new Column().header("FIRST").dataAlign(HorizontalAlign.LEFT).with(this::getFirst),
                    new Column().header("LAST").dataAlign(HorizontalAlign.LEFT).with(this::getLast),
                    new Column().header("NEXT").dataAlign(HorizontalAlign.LEFT).with(this::getNext),
                    new Column().header("FAILURE").dataAlign(HorizontalAlign.LEFT)
                            .maxWidth(140, OverflowBehaviour.NEWLINE)
                            .with(r -> r.error))));
        }

        return 0;
    }
ID: 1216_1041
ClassID: 1216
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.createExceptionFromFault(String soapAction, Fault fault)
    private Exception createExceptionFromFault(String soapAction, Fault fault) {
        StringBuilder sb = new StringBuilder();
        for (Reasontext text : fault.getReason().getText()) {
            sb.append(text.getValue());
        }
        String message = sb.toString();

        Detail faultDetail = fault.getDetail();
        if (faultDetail == null || faultDetail.getAny().isEmpty()) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        Object detailObj = faultDetail.getAny().get(0);

        if (!(detailObj instanceof JAXBElement)) {
            try {
                return new SOAPFaultException(SOAPFactory.newInstance().createFault(message, fault.getCode().getValue()));
            } catch (SOAPException e) {
                throw new RuntimeCamelException(e);
            }
        }

        JAXBElement<?> detailEl = (JAXBElement<?>) detailObj;
        Class<? extends Exception> exceptionClass
                = getDataFormat().getElementNameStrategy().findExceptionForSoapActionAndFaultName(soapAction,
                        detailEl.getName());
        Constructor<? extends Exception> messageConstructor;
        Constructor<? extends Exception> constructor;

        try {
            Object detail = JAXBIntrospector.getValue(detailEl);
            try {
                constructor = exceptionClass.getConstructor(String.class, detail.getClass());
                return constructor.newInstance(message, detail);
            } catch (NoSuchMethodException e) {
                messageConstructor = exceptionClass.getConstructor(String.class);
                return messageConstructor.newInstance(message);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #3080 Negative (Non-Clone)
ID: 3277_2656
ClassID: 3277
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(List<Predicate> predicates)
    public static Predicate or(List<Predicate> predicates) {
        Predicate answer = null;
        for (Predicate predicate : predicates) {
            if (answer == null) {
                answer = predicate;
            } else {
                answer = or(answer, predicate);
            }
        }
        return answer;
    }
ID: 1311_1199
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/job/KubernetesJobProducer.java
Name: org.apache.camel.component.kubernetes.job.KubernetesJobProducer.doListJobByLabel(Exchange exchange)
    protected void doListJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_JOB_LABELS, Map.class);
        JobList jobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Get Job by labels require specify a labels set");
            throw new IllegalArgumentException("Get Job by labels require specify a labels set");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inAnyNamespace().withLabels(labels).list();
        } else {
            jobList = getEndpoint().getKubernetesClient().batch().v1().jobs().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, jobList.getItems());
    }
Pair #3081 Negative (Non-Clone)
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
ID: 1116_951
ClassID: 1116
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-imagerecognition/src/main/java/org/apache/camel/component/huaweicloud/image/ImageRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.image.ImageRecognitionProducer.getAccessKey(ImageRecognitionEndpoint endpoint)
    private String getAccessKey(ImageRecognitionEndpoint endpoint) {
        if (!StringUtils.isEmpty(endpoint.getAccessKey())) {
            return endpoint.getAccessKey();
        } else if (endpoint.getServiceKeys() != null
                && !StringUtils.isEmpty(endpoint.getServiceKeys().getAccessKey())) {
            return endpoint.getServiceKeys().getAccessKey();
        } else {
            throw new IllegalArgumentException("authentication parameter 'access key (AK)' not found");
        }
    }
Pair #3082 Negative (Non-Clone)
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
ID: 684_620
ClassID: 684
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/AbstractOpenTelemetryProducer.java
Name: org.apache.camel.opentelemetry.metrics.AbstractOpenTelemetryProducer.simple(Exchange exchange, String expression, Class<C> clazz)
    protected <C> C simple(Exchange exchange, String expression, Class<C> clazz) {
        if (expression != null) {
            Language language = exchange.getContext().resolveLanguage("simple");
            Expression simple = language.createExpression(expression);
            if (simple != null) {
                return simple.evaluate(exchange, clazz);
            }
        }
        return getEndpoint().getCamelContext().getTypeConverter().convertTo(clazz, expression);
    }
Pair #3083 Negative (Non-Clone)
ID: 2326_1832
ClassID: 2326
File: systems/camel-java/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java
Name: org.apache.camel.component.aws2.timestream.write.Timestream2WriteEndpoint.getServiceUrl()
    public String getServiceUrl() {
        if (!getConfiguration().isOverrideEndpoint()) {
            if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) {
                return getConfiguration().getRegion();
            }
        } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) {
            return getConfiguration().getUriEndpointOverride();
        }
        return null;
    }
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #3084 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 910_791
ClassID: 910
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void deleteFunction(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException, InterruptedException, ExecutionException {
        Empty response = null;
        if (getConfiguration().isPojoRequest()) {
            DeleteFunctionRequest request = exchange.getIn().getMandatoryBody(DeleteFunctionRequest.class);
            response = client.deleteFunctionAsync(request).get();
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            DeleteFunctionRequest request = DeleteFunctionRequest.newBuilder().setName(cfName.toString()).build();
            response = client.deleteFunctionAsync(request).get();
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
Pair #3085 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3086 Negative (Non-Clone)
ID: 51_63
ClassID: 51
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheManager.java
Name: org.apache.camel.component.jcache.JCacheManager.close()
    public void close() throws IOException {
        lock.lock();
        try {
            if (configuration != null) {
                if (cache != null) {
                    cache.close();
                }

                if (manager != null) {
                    manager.close();
                }

                if (provider != null) {
                    provider.close();
                }
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1062_918
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences)
    public void setCommitmentTypeIdDocumentationReferences(List<String> commitmentTypeIdDocumentationReferences) {
        if (commitmentTypeIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'commitmentTypeIdDocumentationReferences' is null");
        }
        for (String ref : commitmentTypeIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the commitment type is null or empty");
            }
        }
        this.commitmentTypeIdDocumentationReferences = new ArrayList<>(commitmentTypeIdDocumentationReferences);
    }
Pair #3087 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 148_125
ClassID: 148
File: systems/camel-java/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/AbstractSalesforceMojo.java
Name: org.apache.camel.maven.AbstractSalesforceMojo.setup()
    protected void setup() {
        execution = getSalesforceExecution();

        execution.setClientId(clientId);
        execution.setClientSecret(clientSecret);
        execution.setHttpClientProperties(httpClientProperties);
        execution.setHttpProxyAuthUri(httpProxyAuthUri);
        execution.setHttpProxyHost(httpProxyHost);
        execution.setHttpProxyPort(httpProxyPort);
        execution.setHttpProxyRealm(httpProxyRealm);
        execution.setHttpProxyUsername(httpProxyUsername);
        execution.setHttpProxyPassword(httpProxyPassword);
        execution.setHttpProxyExcludedAddresses(httpProxyExcludedAddresses);
        execution.setHttpProxyIncludedAddresses(httpProxyIncludedAddresses);
        execution.setHttpProxySocks4(isHttpProxySocks4);
        execution.setHttpProxySecure(isHttpProxySecure);
        execution.setHttpProxyUseDigestAuth(httpProxyUseDigestAuth);
        execution.setLoginUrl(loginUrl);
        execution.setUserName(userName);
        execution.setPassword(password);
        execution.setVersion(version);
        execution.setSslContextParameters(sslContextParameters);
        execution.setJwtAudience(jwtAudience);
        execution.setKeyStoreParameters(generateKeyStoreParameters());
    }
Pair #3088 Negative (Non-Clone)
ID: 2187_1719
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanFloatingIPsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanFloatingIPsProducer.createFloatingIp(Exchange exchange)
    private void createFloatingIp(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);
        FloatingIP ip;

        if (ObjectHelper.isNotEmpty(dropletId)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(dropletId);
        } else if (ObjectHelper.isNotEmpty(region)) {
            ip = getEndpoint().getDigitalOceanClient().createFloatingIP(region);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.DROPLET_ID + " or " + DigitalOceanHeaders.REGION + " must be specified");
        }

        LOG.trace("FloatingIP [{}] ", ip);
        exchange.getMessage().setBody(ip);
    }
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
Pair #3089 Negative (Non-Clone)
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
ID: 2572_2156
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareKameletMainMojo.java
Name: org.apache.camel.maven.packaging.PrepareKameletMainMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
Pair #3090 Negative (Non-Clone)
ID: 1183_1004
ClassID: 1183
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.marshal(final Exchange exchange, final Object graph, final OutputStream stream)
    public void marshal(final Exchange exchange, final Object graph, final OutputStream stream) throws Exception {
        String filename = null;

        String filepath = exchange.getIn().getHeader(FILE_NAME, String.class);
        Long fileLength = exchange.getIn().getHeader(FILE_LENGTH, Long.class);
        if (filepath != null) {
            Path filenamePath = Paths.get(filepath).getFileName();
            if (filenamePath != null) {
                filename = filenamePath.toString();  
            }
        }
        if (filename == null) {
             
            filename = filepath = StringHelper.sanitize(exchange.getIn().getMessageId());
        }
        InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, graph);
        if (fileLength == null) {
            fileLength = (long) is.available();
        }

        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(stream);
        if (preservePathElements) {
            createZipEntries(zos, filepath, fileLength);
        } else {
            createZipEntries(zos, filename, fileLength);
        }

        try {
            IOHelper.copy(is, zos);
        } finally {
            zos.closeArchiveEntry();
            IOHelper.close(is, zos);
        }

        String newFilename = filename + ".zip";
        exchange.getMessage().setHeader(FILE_NAME, newFilename);
    }
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
Pair #3091 Negative (Non-Clone)
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
Pair #3092 Negative (Non-Clone)
ID: 740_666
ClassID: 740
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseTokens()
    protected List<SimpleNode> parseTokens() {
        clear();

         
        nextToken();
        while (!token.getType().isEol()) {
             
            templateText();
            functionText();
            unaryOperator();
            nextToken();
        }

         
         
         

         
        parseAndCreateAstModel();
         
        prepareBlocks();
         
        prepareUnaryExpressions();

        return nodes;
    }
ID: 3250_2597
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteTemplateRefs()
    protected void initRouteTemplateRefs() throws Exception {
         
        if (getRouteTemplateRefs() != null) {
            for (RouteTemplateContextRefDefinition ref : getRouteTemplateRefs()) {
                List<RouteTemplateDefinition> defs = ref.lookupRouteTemplates(getContext());
                for (RouteTemplateDefinition def : defs) {
                    LOG.debug("Adding route template from {} -> {}", ref, def);
                    getRouteTemplates().add(def);
                }
            }
        }
    }
Pair #3093 Negative (Non-Clone)
ID: 741_668
ClassID: 741
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.getStatus()
    public ServiceStatus getStatus() {
        switch (status) {
            case INITIALIZING:
                return ServiceStatus.Initializing;
            case INITIALIZED:
                return ServiceStatus.Initialized;
            case STARTING:
                return ServiceStatus.Starting;
            case STARTED:
                return ServiceStatus.Started;
            case SUSPENDING:
                return ServiceStatus.Suspending;
            case SUSPENDED:
                return ServiceStatus.Suspended;
            case STOPPING:
                return ServiceStatus.Stopping;
            default:
                return ServiceStatus.Stopped;
        }
    }
ID: 175_145
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<RecentReport> recentReports = null;
                if (response != null) {
                    try {
                        recentReports = unmarshalResponse(response, request, TypeReferences.RECENT_REPORT_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(recentReports, headers, ex);
            }
Pair #3094 Negative (Non-Clone)
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
Pair #3095 Negative (Non-Clone)
ID: 1218_1046
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleRefunds(Exchange exchange, String method)
    private Object handleRefunds(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Refund.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Refund.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String refundId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Refund refund = Refund.retrieve(refundId);
                return refund.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Refund.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for refunds: " + method);
        }
    }
ID: 1557_1377
ClassID: 1557
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java
Name: org.apache.camel.component.xmpp.XmppConsumer.startRobustConnectionMonitor()
    private void startRobustConnectionMonitor() {
        Runnable connectionCheckRunnable = new Runnable() {
            @Override
            public void run() {
                try {
                    checkConnection();
                } catch (Exception e) {
                    LOG.warn("Ignoring an exception caught in the connection poller thread.", e);
                }
            }
        };
         
        getExecutor().scheduleAtFixedRate(connectionCheckRunnable, endpoint.getConnectionPollDelay(),
                endpoint.getConnectionPollDelay(), TimeUnit.SECONDS);
    }
Pair #3096 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 2048_1664
ClassID: 2048
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentChangedRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentChangedRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        Integer readLockIdempotentReleaseDelay = (Integer) params.get("readLockIdempotentReleaseDelay");
        if (readLockIdempotentReleaseDelay != null) {
            readLockStrategy.setReadLockIdempotentReleaseDelay(readLockIdempotentReleaseDelay);
        }
        Boolean readLockIdempotentReleaseAsync = (Boolean) params.get("readLockIdempotentReleaseAsync");
        if (readLockIdempotentReleaseAsync != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsync(readLockIdempotentReleaseAsync);
        }
        Integer readLockIdempotentReleaseAsyncPoolSize = (Integer) params.get("readLockIdempotentReleaseAsyncPoolSize");
        if (readLockIdempotentReleaseAsyncPoolSize != null) {
            readLockStrategy.setReadLockIdempotentReleaseAsyncPoolSize(readLockIdempotentReleaseAsyncPoolSize);
        }
        ScheduledExecutorService readLockIdempotentReleaseExecutorService
                = (ScheduledExecutorService) params.get("readLockIdempotentReleaseExecutorService");
        if (readLockIdempotentReleaseExecutorService != null) {
            readLockStrategy.setReadLockIdempotentReleaseExecutorService(readLockIdempotentReleaseExecutorService);
        }
        strategy = readLockStrategy;
        return strategy;
    }
Pair #3097 Negative (Non-Clone)
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2652_2316
ClassID: 2652
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
Name: org.apache.camel.model.dataformat.BindyDataFormat.getDataFormatName()
    public String getDataFormatName() {
        if ("Csv".equals(type)) {
            return "bindyCsv";
        } else if ("Fixed".equals(type)) {
            return "bindyFixed";
        } else {
            return "bindyKvp";
        }
    }
Pair #3098 Negative (Non-Clone)
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
ID: 1006_866
ClassID: 1006
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filter(Iterable<?> iterable)
    private Iterable<?> filter(Iterable<?> iterable) {
        List<Object> filtered = new ArrayList<>();
        if (iterable == null) {
            return filtered;
        }

        for (Object o : iterable) {
            if (resultIndex.contains(o.hashCode())) {
                continue;
            }
            filtered.add(o);
        }

        return filtered;
    }
Pair #3099 Negative (Non-Clone)
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
ID: 482_504
ClassID: 482
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyKeyValuePairFactory.java
Name: org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory.formatField(Format<?> format, String value, int tag, int line)
    private Object formatField(Format<?> format, String value, int tag, int line) throws Exception {

        Object obj = null;

        if (value != null) {

             
            try {
                obj = format.parse(value);
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Parsing error detected for field defined at the tag: " + tag + ", line: " + line, e);
            }

        }

        return obj;

    }
Pair #3100 Negative (Non-Clone)
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
Pair #3101 Negative (Non-Clone)
ID: 2228_1744
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitTagConsumer.java
Name: org.apache.camel.component.git.consumer.GitTagConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().tagList().call();
        for (Ref ref : call) {
            if (!tagsConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
Pair #3102 Negative (Non-Clone)
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 2401_1895
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.startAllStoppedConsumers()
    private void startAllStoppedConsumers() {
        lock.lock();
        try {
            for (Route route : suspendedRoutes) {
                LOGGER.debug("Starting consumer for {} ({})", route.getId(), route.getConsumer());
                startConsumer(route.getConsumer());
            }

            suspendedRoutes.clear();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3103 Negative (Non-Clone)
ID: 1311_1194
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doListServiceAccountsByLabels(Exchange exchange)
    protected void doListServiceAccountsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_ACCOUNTS_LABELS, Map.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ServiceAccounts by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ServiceAccounts by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().withLabels(labels).list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
Pair #3104 Negative (Non-Clone)
ID: 230_278
ClassID: 230
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbProcessStrategyFactory.java
Name: org.apache.camel.component.smb.strategy.SmbProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<FileIdBothDirectoryInformation> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<FileIdBothDirectoryInformation> strategy
                    = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<FileIdBothDirectoryInformation> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<FileIdBothDirectoryInformation> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 3249_2592
ClassID: 3249
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCommonServices()
    private void setupCommonServices() throws Exception {
        BacklogTracer backlogTracer = getBeanForType(BacklogTracer.class);
        if (backlogTracer != null) {
            LOG.info("Using custom BacklogTracer: {}", backlogTracer);
            getContext().addService(backlogTracer);
        }
        InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
        if (inflightRepository != null) {
            LOG.info("Using custom InflightRepository: {}", inflightRepository);
            getContext().setInflightRepository(inflightRepository);
        }
        AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
        if (asyncProcessorAwaitManager != null) {
            LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
            getContext().getCamelContextExtension().addContextPlugin(AsyncProcessorAwaitManager.class,
                    asyncProcessorAwaitManager);
        }
        ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
        if (managementStrategy != null) {
            LOG.info("Using custom ManagementStrategy: {}", managementStrategy);
            getContext().setManagementStrategy(managementStrategy);
        }
        ManagementObjectNameStrategy managementObjectNameStrategy = getBeanForType(ManagementObjectNameStrategy.class);
        if (managementObjectNameStrategy != null) {
            LOG.info("Using custom ManagementObjectNameStrategy: {}", managementObjectNameStrategy);
            getContext().getManagementStrategy().setManagementObjectNameStrategy(managementObjectNameStrategy);
        }
        EventFactory eventFactory = getBeanForType(EventFactory.class);
        if (eventFactory != null) {
            LOG.info("Using custom EventFactory: {}", eventFactory);
            getContext().getManagementStrategy().setEventFactory(eventFactory);
        }
        UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
        if (unitOfWorkFactory != null) {
            LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
            getContext().getCamelContextExtension().addContextPlugin(UnitOfWorkFactory.class, unitOfWorkFactory);
        }
        RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
        if (runtimeEndpointRegistry != null) {
            LOG.info("Using custom RuntimeEndpointRegistry: {}", runtimeEndpointRegistry);
            getContext().setRuntimeEndpointRegistry(runtimeEndpointRegistry);
        }
        EndpointServiceRegistry endpointServiceRegistry = getBeanForType(EndpointServiceRegistry.class);
        if (endpointServiceRegistry != null) {
            LOG.info("Using custom EndpointServiceRegistry: {}", endpointServiceRegistry);
            getContext().getCamelContextExtension().addContextPlugin(EndpointServiceRegistry.class, endpointServiceRegistry);
        }
        HeadersMapFactory headersMapFactory = getBeanForType(HeadersMapFactory.class);
        if (headersMapFactory != null) {
            LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
            getContext().getCamelContextExtension().setHeadersMapFactory(headersMapFactory);
        }
    }
Pair #3105 Negative (Non-Clone)
ID: 1725_1447
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxBufferConverter.java
Name: org.apache.camel.component.vertx.common.VertxBufferConverter.getCharsetFromExchange(Exchange exchange)
    private static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(Exchange.CONTENT_TYPE, String.class);
            if (contentType != null) {
                charset = IOHelper.getCharsetNameFromContentType(contentType);
            }
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #3106 Negative (Non-Clone)
ID: 1254_1096
ClassID: 1254
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.resolveLogger(DeadLetterChannelDefinition definition)
    private CamelLogger resolveLogger(DeadLetterChannelDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
Pair #3107 Negative (Non-Clone)
ID: 3233_2550
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseExpression()
    public Expression parseExpression() {
        try {
            parseTokens();
            return doParseExpression();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3108 Negative (Non-Clone)
ID: 3170_2438
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsXml(Integer index, Boolean includeBody)
    public String browseMessageAsXml(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsXml(msg, includeBody);
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #3109 Negative (Non-Clone)
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
ID: 257_333
ClassID: 257
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSConsumer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    processComplete(exchange);
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processFailure(exchange);
                }
            });

            AsyncCallback callback = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, callback);
        }

        return total;
    }
Pair #3110 Negative (Non-Clone)
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3111 Negative (Non-Clone)
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 2597_2207
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByte(final String key)
    public Byte getByte(final String key) {
        Object returnable = this.get(key);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #3112 Negative (Non-Clone)
ID: 2659_2335
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java
Name: org.apache.camel.processor.Pipeline.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
             
            PooledExchangeTask task = taskFactory.acquire(exchange, callback);

            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 3240_2565
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
Name: org.apache.camel.reifier.SetPropertyReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "propertyName", this);
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetPropertyProcessor answer = new SetPropertyProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3113 Negative (Non-Clone)
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
ID: 2363_1858
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.MistralStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode outputs = node.get("outputs");
        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
            JsonNode firstOutput = outputs.get(0);
            JsonNode stopReason = firstOutput.get("stop_reason");
            return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
        }
        return null;
    }
Pair #3114 Negative (Non-Clone)
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #3115 Negative (Non-Clone)
ID: 1738_1450
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketConsumer.processExchange(Exchange exchange, RoutingContext routingContext)
    protected void processExchange(Exchange exchange, RoutingContext routingContext) {
        routingContext.vertx().executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                            routingContext.fail(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
ID: 1432_1292
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartSignedEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String micalg, String charsetName, String contentTransferEncoding)
    public static MultipartSignedEntity parseMultipartSignedEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String micalg,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            NameValuePair[] parameters = new NameValuePair[] {
                    new BasicNameValuePair("protocol", AS2MimeType.APPLICATION_PKCS7_SIGNATURE),
                    new BasicNameValuePair("boundary", boundary), new BasicNameValuePair("micalg", micalg),
                    new BasicNameValuePair("charset", charsetName) };
            ContentType contentType = ContentType.create(AS2MimeType.MULTIPART_SIGNED, parameters);
             
             
            MultipartSignedEntity multipartSignedEntity
                    = new MultipartSignedEntity(contentType, contentTransferEncoding, boundary, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signedEntityContentType = null;
            String signedEntityContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signedEntityContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signedEntityContentTransferEncoding = header.getValue();
                }
            }
            if (signedEntityContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signed entity body part");
            }

            MimeEntity signedEntity = parseEntityBody(inbuffer, is, boundary, signedEntityContentType,
                    signedEntityContentTransferEncoding, "", headers);
            signedEntity.removeAllHeaders();
            signedEntity.setHeaders(headers);
            multipartSignedEntity.addPart(signedEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType signatureContentType = null;
            String signatureContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    signatureContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    signatureContentTransferEncoding = header.getValue();
                }
            }
            if (signatureContentType == null) {
                throw new HttpException("Failed to find Content-Type header in signature body part");
            }
            if (!ContentTypeUtils.isPkcs7SignatureType(signatureContentType)) {
                throw new HttpException(
                        "Invalid content type '" + signatureContentType.getMimeType() + "' for signature body part");
            }

            ApplicationPkcs7SignatureEntity applicationPkcs7SignatureEntity = parseApplicationPkcs7SignatureEntityBody(inbuffer,
                    is, boundary, signatureContentType, signatureContentTransferEncoding);
            applicationPkcs7SignatureEntity.removeAllHeaders();
            applicationPkcs7SignatureEntity.setHeaders(headers);
            multipartSignedEntity.addPart(applicationPkcs7SignatureEntity);

             
             

            return multipartSignedEntity;

        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3116 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3117 Negative (Non-Clone)
ID: 3274_2649
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 926_802
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubConsumer.GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor)
    GooglePubsubConsumer(GooglePubsubEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        this.pendingSynchronousPullResponses = ConcurrentHashMap.newKeySet();
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
        headerFilterStrategy = endpoint.getHeaderFilterStrategy();
    }
Pair #3118 Negative (Non-Clone)
ID: 680_609
ClassID: 680
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory.createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition)
    public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
        MetricsRoutePolicy answer = new MetricsRoutePolicy();
        answer.setMetricsRegistry(getMetricsRegistry());
        answer.setUseJmx(isUseJmx());
        answer.setJmxDomain(getJmxDomain());
        answer.setPrettyPrint(isPrettyPrint());
        answer.setRateUnit(getRateUnit());
        answer.setDurationUnit(getDurationUnit());
        if (namePattern != null) {
            answer.setNamePattern(namePattern);
        }
        return answer;
    }
ID: 2248_1773
ClassID: 2248
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedManager.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedManager.getCache(String cacheName)
    public <K, V> BasicCache<K, V> getCache(String cacheName) {
        Cache<K, V> cache;
        if (ObjectHelper.isEmpty(cacheName) || CACHE_MANAGER_CURRENT.equals(cacheName)) {
            cache = cacheContainer.getCache();
        } else {
            cache = cacheContainer.getCache(cacheName);
        }

        return configuration.hasFlags()
                ? cache.getAdvancedCache().withFlags(configuration.getFlags())
                : cache;
    }
Pair #3119 Negative (Non-Clone)
ID: 220_255
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.blob.getBlob");

        if (message.getHeaders().containsKey(BlobConstants.E_TAG)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.blob." + message.getHeader(BlobConstants.E_TAG, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(BlobConstants.BLOB_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2399_1886
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
            throws Exception {
        HazelcastInstance hzInstance = null;
        ClientConfig config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = HazelcastClient.getHazelcastClientByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, ClientConfig.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlClientConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlClientConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = HazelcastClient.newHazelcastClient(config);
            } else if (config != null) {
                hzInstance = HazelcastClient.newHazelcastClient(config);
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
Pair #3120 Negative (Non-Clone)
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
ID: 893_746
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-neo4j/src/main/java/org/apache/camel/component/neo4j/Neo4jEndpoint.java
Name: org.apache.camel.component.neo4j.Neo4jEndpoint.getDriver()
    public Driver getDriver() {
        lock.lock();
        try {
            if (this.driver == null) {
                this.driver = this.configuration.getDriver();
                if (this.driver == null) {
                    this.driver = createDriver();
                }
            }

        } finally {
            lock.unlock();
        }
        return this.driver;

    }
Pair #3121 Negative (Non-Clone)
ID: 220_259
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.storage.downloadTo");

        if (message.getHeaders().containsKey(GoogleCloudStorageConstants.BUCKET_NAME)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.storage.bucket." + message.getHeader(GoogleCloudStorageConstants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #3122 Negative (Non-Clone)
ID: 1203_1030
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doFire(Exchange exchange, AsyncCallback callback)
    private void doFire(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            exchange.setException(new CamelException("Can not fire empty message"));
            callback.done(true);
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .fire()
                .message(body)
                .channel(getChannel(exchange))
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got fire message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #3123 Negative (Non-Clone)
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #3124 Negative (Non-Clone)
ID: 126_116
ClassID: 126
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #3125 Negative (Non-Clone)
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3126 Negative (Non-Clone)
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 3247_2581
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupLogListener()
    private void setupLogListener() {
        Map<String, LogListener> logListeners = getContext().getRegistry().findByTypeWithName(LogListener.class);
        if (logListeners != null && !logListeners.isEmpty()) {
            for (Entry<String, LogListener> entry : logListeners.entrySet()) {
                LogListener logListener = entry.getValue();
                if (getContext().getCamelContextExtension().getLogListeners() == null
                        || !getContext().getCamelContextExtension().getLogListeners().contains(logListener)) {
                    LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
                    getContext().getCamelContextExtension().addLogListener(logListener);
                }
            }
        }
    }
Pair #3127 Negative (Non-Clone)
ID: 2661_2339
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIME, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            asyncExecutor.submit(() -> process(exchange, callback));
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3128 Negative (Non-Clone)
ID: 982_840
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.ParameterSqlType()
  final public Token ParameterSqlType() throws ParseException {Token t;
    Token scaleToken;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case NUMBER:{
      t = jj_consume_token(NUMBER);
      break;
      }
    case IDENTIFIER:{
      t = jj_consume_token(IDENTIFIER);
      break;
      }
    default:
      jj_la1[10] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
{if ("" != null) return t;}
    throw new Error("Missing return statement in function");
}
ID: 1498_1340
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeGIF(String flavor)
    public DocFlavor forMimeTypeGIF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.GIF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.GIF;
        }

        return d;
    }
Pair #3129 Negative (Non-Clone)
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 2400_1893
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
Name: org.apache.camel.component.hazelcast.list.HazelcastListProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Integer pos = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_POS)) {
            if (!(headers.get(HazelcastConstants.OBJECT_POS) instanceof Integer)) {
                throw new IllegalArgumentException("OBJECT_POS Should be of type Integer");
            }
            pos = (Integer) headers.get(HazelcastConstants.OBJECT_POS);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case ADD:
                this.add(pos, exchange);
                break;

            case GET:
                this.get(pos, exchange);
                break;

            case SET_VALUE:
                this.set(pos, exchange);
                break;

            case REMOVE_VALUE:
                this.remove(pos, exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case ADD_ALL:
                this.addAll(pos, exchange);
                break;

            case REMOVE_ALL:
                this.removeAll(exchange);
                break;

            case RETAIN_ALL:
                this.retainAll(exchange);
                break;

            case GET_ALL:
                this.getAll(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the LIST cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #3130 Negative (Non-Clone)
ID: 188_186
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processAbortQueryJob(Exchange exchange, AsyncCallback callback)
    private void processAbortQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.changeQueryJobState(jobId, JobStateEnum.ABORTED, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 3265_2628
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        if (key == null || value == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);
            if (newValue == null) {
                if (!delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #3131 Negative (Non-Clone)
ID: 3229_2526
ClassID: 3229
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.trimExpression(final String expression)
    public static Expression trimExpression(final String expression) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                if (expression != null) {
                    exp = context.resolveLanguage("simple").createExpression(expression);
                    exp.init(context);
                }
            }

            @Override
            public Object evaluate(Exchange exchange) {
                String value;
                if (exp != null) {
                    value = exp.evaluate(exchange, String.class);
                } else {
                    value = exchange.getMessage().getBody(String.class);
                }
                if (value != null) {
                    value = value.trim();
                }
                return value;
            }

            @Override
            public String toString() {
                if (expression != null) {
                    return "trim(" + expression + ")";
                } else {
                    return "trim()";
                }
            }
        };
    }
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #3132 Negative (Non-Clone)
ID: 2232_1756
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowTags(Exchange exchange, String operation)
    protected void doShowTags(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.tagList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 2636_2270
ClassID: 2636
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultHealthCheckResolver.java
Name: org.apache.camel.impl.engine.DefaultHealthCheckResolver.resolveHealthCheckRepository(String id)
    public HealthCheckRepository resolveHealthCheckRepository(String id) {
         
        HealthCheckRepository answer
                = camelContext.getRegistry().lookupByNameAndType(id + "-health-check-repository", HealthCheckRepository.class);
        if (answer == null) {
            answer = camelContext.getRegistry().lookupByNameAndType(id, HealthCheckRepository.class);
        }
        if (answer != null) {
            return answer;
        }

        Class<?> type = null;
        try {
            type = findHealthCheckRepository(id, camelContext);
        } catch (NoFactoryAvailableException e) {
             
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid URI, no HealthCheckRepository registered for id: " + id, e);
        }

        if (type != null) {
            if (HealthCheckRepository.class.isAssignableFrom(type)) {
                return (HealthCheckRepository) camelContext.getInjector().newInstance(type, false);
            } else {
                throw new IllegalArgumentException(
                        "Resolving health-check-repository: " + id
                                                   + " detected type conflict: Not a HealthCheckRepository implementation. Found: "
                                                   + type.getName());
            }
        }

        return null;
    }
Pair #3133 Negative (Non-Clone)
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 655_576
ClassID: 655
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.doAttach(Exchange exchange)
    private void doAttach(Exchange exchange) {
        final Message msg = exchange.getIn();
        final String routerId = msg.getHeader(NeutronConstants.ROUTER_ID, String.class);
        final String subnetPortId
                = msg.getHeader(NeutronConstants.SUBNET_ID, msg.getHeader(NeutronConstants.PORT_ID), String.class);
        final AttachInterfaceType type = msg.getHeader(NeutronConstants.ITERFACE_TYPE, AttachInterfaceType.class);
        StringHelper.notEmpty(routerId, "Router ID");
        StringHelper.notEmpty(subnetPortId, "Subnet/Port ID");
        ObjectHelper.notNull(type, "AttachInterfaceType ");
        RouterInterface routerInterface = os.networking().router().attachInterface(routerId, type, subnetPortId);
        msg.setBody(routerInterface);
    }
Pair #3134 Negative (Non-Clone)
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1411_1265
ClassID: 1411
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
Name: org.apache.camel.component.quickfixj.QuickfixjComponent.doStop()
    protected void doStop() throws Exception {
         
        lock.lock();
        try {
            for (QuickfixjEngine engine : engines.values()) {
                engine.stop();
            }
        } finally {
            lock.unlock();
        }
        super.doStop();
    }
Pair #3135 Negative (Non-Clone)
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #3136 Negative (Non-Clone)
ID: 3332_2729
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsSupplier(ThrowingSupplier<V, T> supplier)
    public static <V, T extends Throwable> Supplier<V> wrapAsSupplier(ThrowingSupplier<V, T> supplier) {
        return new Supplier<>() {
            @Override
            public V get() {
                try {
                    return supplier.get();
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 1547_1367
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetChildrenOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetChildrenOperation.getResult()
    public OperationResult<List<String>> getResult() {
        try {
            Stat statistics = new Stat();

            List<String> children = connection.getChildren(node, true, statistics);
            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received children from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received children from '%s' path ", node));
                }
            }
            return new OperationResult<>(children, statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #3137 Negative (Non-Clone)
ID: 780_705
ClassID: 780
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.addDocument(Exchange exchange)
    private void addDocument(Exchange exchange) {
        Discovery discovery = getEndpoint().getDiscoveryClient();
        String projectId = getEndpoint().getConfiguration().getProjectId();

        String collectionId = exchange.getIn().getHeader(WatsonDiscoveryConstants.COLLECTION_ID, String.class);
        if (collectionId == null) {
            collectionId = getEndpoint().getConfiguration().getCollectionId();
        }

        if (collectionId == null) {
            throw new IllegalArgumentException("Collection ID must be specified");
        }

        InputStream file = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILE, InputStream.class);
        if (file == null) {
            file = exchange.getIn().getBody(InputStream.class);
        }

        if (file == null) {
            throw new IllegalArgumentException("Document file must be specified");
        }

        String filename = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_FILENAME, String.class);
        if (filename == null) {
            filename = "document";
        }

        String contentType = exchange.getIn().getHeader(WatsonDiscoveryConstants.DOCUMENT_CONTENT_TYPE, String.class);
        if (contentType == null) {
            contentType = "application/octet-stream";
        }

        LOG.trace("Adding document to collection: {}", collectionId);

        AddDocumentOptions options = new AddDocumentOptions.Builder()
                .projectId(projectId)
                .collectionId(collectionId)
                .file(file)
                .filename(filename)
                .fileContentType(contentType)
                .build();

        DocumentAccepted result = discovery.addDocument(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        message.setHeader(WatsonDiscoveryConstants.DOCUMENT_ID, result.getDocumentId());
    }
ID: 2608_2239
ClassID: 2608
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithMethods(Class<?> clazz, MethodCallback mc)
    public static void doWithMethods(Class<?> clazz, MethodCallback mc) throws IllegalArgumentException {
         
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            if (method.isBridge()) {
                 
                 
                continue;
            }
            try {
                mc.doWith(method);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access method '" + method.getName() + "': " + ex);
            }
        }
        if (clazz.getSuperclass() != null) {
            doWithMethods(clazz.getSuperclass(), mc);
        } else if (clazz.isInterface()) {
            for (Class<?> superIfc : clazz.getInterfaces()) {
                doWithMethods(superIfc, mc);
            }
        }
    }
Pair #3138 Negative (Non-Clone)
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
ID: 2538_2113
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadVersion(String version)
    public boolean loadVersion(String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String camelCatalogGAV = String.format("org.apache.camel:camel-catalog:%s", version);
            resolve(mavenDownloader, camelCatalogGAV, version.contains("SNAPSHOT"));

            this.version = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
Pair #3139 Negative (Non-Clone)
ID: 1966_1600
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        String indexId = ExchangeHelper.getMandatoryHeader(exchange, WeaviateVectorDbHeaders.INDEX_ID, String.class);

         
         
        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<List<WeaviateObject>> result = client.data().objectsGetter()
                .withClassName(collectionName)
                .withID(indexId)
                .run();

        populateResponse(result, exchange);
    }
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
Pair #3140 Negative (Non-Clone)
ID: 3169_2434
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.reset(boolean includeProcessors)
    public void reset(boolean includeProcessors) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeProcessors) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                 
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                QueryExp queryExp = Query.match(new AttributeValueExp("RouteId"), new StringValueExp(getRouteId()));
                Set<ObjectName> names = server.queryNames(query, queryExp);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", null, null);
                }
            }
        }
    }
ID: 2508_2059
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.fields(ClassInfo ci)
    protected Set<FieldInfo> fields(ClassInfo ci) {
        Set<FieldInfo> fields = new TreeSet<>(Comparator.comparing(FieldInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            fields.addAll(current.fields());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return fields;
    }
Pair #3141 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 306_372
ClassID: 306
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/messaging/KafkaSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.messaging.KafkaSegmentDecorator.pre(Entity segment, Exchange exchange, Endpoint endpoint)
    public void pre(Entity segment, Exchange exchange, Endpoint endpoint) {
        super.pre(segment, exchange, endpoint);

        String partition = (String) exchange.getIn().getHeader(PARTITION);
        if (partition != null) {
            segment.putMetadata(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = (String) exchange.getIn().getHeader(PARTITION_KEY);
        if (partitionKey != null) {
            segment.putMetadata(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = (String) exchange.getIn().getHeader(KEY);
        if (key != null) {
            segment.putMetadata(KAFKA_KEY_TAG, key);
        }

        String offset = (String) exchange.getIn().getHeader(OFFSET);
        if (offset != null) {
            segment.putMetadata(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #3142 Negative (Non-Clone)
ID: 3304_2715
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseEpilog()
    protected int parseEpilog() throws XmlPullParserException, IOException {
        if (eventType == END_DOCUMENT) {
            throw new XmlPullParserException("already reached end of XML input", this, null);
        }
        if (reachedEnd) {
            return eventType = END_DOCUMENT;
        }
        boolean gotS = false;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        try {
             
            char ch;
            if (seenMarkup) {
                ch = buf[pos - 1];
            } else {
                ch = more();
            }
            seenMarkup = false;
            posStart = pos - 1;
            if (!reachedEnd) {
                while (true) {
                     
                     
                    if (ch == '<') {
                        if (gotS && tokenize) {
                            posEnd = pos - 1;
                            seenMarkup = true;
                            return eventType = IGNORABLE_WHITESPACE;
                        }
                        ch = more();
                        if (reachedEnd) {
                            break;
                        }
                        if (ch == '?') {
                             
                             
                            parsePI();
                            if (tokenize)
                                return eventType = PROCESSING_INSTRUCTION;

                        } else if (ch == '!') {
                            ch = more();
                            if (reachedEnd) {
                                break;
                            }
                            if (ch == 'D') {
                                parseDocdecl();  
                                if (tokenize)
                                    return eventType = DOCDECL;
                            } else if (ch == '-') {
                                parseComment();
                                if (tokenize)
                                    return eventType = COMMENT;
                            } else {
                                throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                            }
                        } else if (ch == '/') {
                            throw new XmlPullParserException(
                                    "end tag not allowed in epilog but got " + printable(ch), this, null);
                        } else if (isNameStartChar(ch)) {
                            throw new XmlPullParserException(
                                    "start tag not allowed in epilog but got " + printable(ch), this, null);
                        } else {
                            throw new XmlPullParserException(
                                    "in epilog expected ignorable content and not " + printable(ch), this, null);
                        }
                    } else if (isS(ch)) {
                        gotS = true;
                        if (normalizeIgnorableWS) {
                            if (ch == '\r') {
                                normalizedCR = true;
                                 
                                 
                                 
                                if (!usePC) {
                                    posEnd = pos - 1;
                                    if (posEnd > posStart) {
                                        joinPC();
                                    } else {
                                        usePC = true;
                                        pcStart = pcEnd = 0;
                                    }
                                }
                                 
                                if (pcEnd >= pc.length)
                                    ensurePC(pcEnd);
                                pc[pcEnd++] = '\n';
                            } else if (ch == '\n') {
                                if (!normalizedCR && usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = '\n';
                                }
                                normalizedCR = false;
                            } else {
                                if (usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = ch;
                                }
                                normalizedCR = false;
                            }
                        }
                    } else {
                        throw new XmlPullParserException(
                                "in epilog non whitespace content is not allowed but got " + printable(ch), this, null);
                    }
                    ch = more();
                    if (reachedEnd) {
                        break;
                    }

                }
            }

             
             
             
        } catch (EOFException ex) {
            reachedEnd = true;
        }
        if (tokenize && gotS) {
            posEnd = pos;  
            return eventType = IGNORABLE_WHITESPACE;
        }
        return eventType = END_DOCUMENT;
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3143 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
Pair #3144 Negative (Non-Clone)
ID: 2479_2026
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
Pair #3145 Negative (Non-Clone)
ID: 1245_1072
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurements(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurements measurements = exchange.getIn().getMandatoryBody(Measurements.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurements {}", measurements);
            }
            writeApi.writeMeasurements(bucketName, orgName, writePrecision, measurements.getInfluxMeasurements());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
Pair #3146 Negative (Non-Clone)
ID: 439_459
ClassID: 439
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.maybeDisconnectOnDone(Exchange exchange)
    protected void maybeDisconnectOnDone(Exchange exchange) throws InterruptedException {
        if (session == null) {
            return;
        }

         
        Boolean close;
        if (ExchangeHelper.isOutCapable(exchange)) {
            close = exchange.getOut().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        } else {
            close = exchange.getIn().getHeader(MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
        }

         
        boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
        if (close != null) {
            disconnect = close;
        }
        if (disconnect) {
            LOG.debug("Closing session when complete at address: {}", address);
            closeSessionIfNeededAndAwaitCloseInHandler(session);
        }
    }
ID: 3228_2523
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.joinExpression(final String expression, final String separator, final String prefix)
    public static Expression joinExpression(final String expression, final String separator, final String prefix) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.joinExpression(exp, separator, prefix);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                if (prefix != null) {
                    return "join(" + expression + "," + separator + "," + prefix + ")";
                } else {
                    return "join(" + expression + "," + separator + ")";
                }
            }
        };
    }
Pair #3147 Negative (Non-Clone)
ID: 2598_2213
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getEnum(final int index)
    public <T extends Enum<T>> T getEnum(final int index) throws ClassNotFoundException {
         
        T returnable;
        final String element;
        final String[] splitValues;
        final int numberOfValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        element = this.getString(index);
        if (element == null) {
            return null;
        }
         
        splitValues = element.split("\\.");
        numberOfValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfValues; i++) {
            if (i == (numberOfValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
ID: 3212_2487
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                mps.add(mp);
            }
        }
         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        ProcessorDevConsole.includeProcessorsText(getCamelContext(), sb, 0, null, mps);
    }
Pair #3148 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #3149 Negative (Non-Clone)
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
ID: 3220_2505
ClassID: 3220
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/ServicePropertiesFunction.java
Name: org.apache.camel.component.properties.ServicePropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

         
        if (key != null) {
             
            key = key.toUpperCase(Locale.ENGLISH).replace('-', '_');

             
            String host = IOHelper.lookupEnvironmentVariable(key + HOST_PREFIX);
            String port = IOHelper.lookupEnvironmentVariable(key + PORT_PREFIX);

            if (host != null && port != null) {
                return host + ":" + port;
            } else {
                return defaultValue;
            }
        }

        return defaultValue;
    }
Pair #3150 Negative (Non-Clone)
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
ID: 1871_1540
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #3151 Negative (Non-Clone)
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 757_678
ClassID: 757
File: systems/camel-java/components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java
Name: org.apache.camel.component.seda.QueueReference.addReference(SedaEndpoint endpoint)
    void addReference(SedaEndpoint endpoint) {
        lock.lock();
        try {
            if (!endpoints.contains(endpoint)) {
                endpoints.add(endpoint);
                 
                if (endpoint.isMultipleConsumers()) {
                    multipleConsumers = true;
                }
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3152 Negative (Non-Clone)
ID: 2640_2285
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withExchangeProperty(String key, Object value)
    public FluentProducerTemplate withExchangeProperty(String key, Object value) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException(
                    "Cannot use both withExchangeProperty and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.exchangeProperties;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.exchangeProperties = map;
        }
        map.put(key, value);
        return clone;
    }
ID: 484_510
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
Pair #3153 Negative (Non-Clone)
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
Pair #3154 Negative (Non-Clone)
ID: 3263_2622
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidHeaderObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders)
    private static Map<String, Object> checkValidHeaderObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedHeaders) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidHeaderValue(entry.getKey(), entry.getValue(), allowSerializedHeaders);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidHeaderValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
Pair #3155 Negative (Non-Clone)
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 3101_2376
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointProducerBuilder != null) {
            return endpointProducerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
Pair #3156 Negative (Non-Clone)
ID: 2372_1867
ClassID: 2372
File: systems/camel-java/components/camel-aws/camel-aws2-transcribe/src/main/java/org/apache/camel/component/aws2/transcribe/Transcribe2Producer.java
Name: org.apache.camel.component.aws2.transcribe.Transcribe2Producer.deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange)
    private void deleteTranscriptionJob(TranscribeClient transcribeClient, Exchange exchange) throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof DeleteTranscriptionJobRequest) {
                try {
                    transcribeClient.deleteTranscriptionJob((DeleteTranscriptionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            }
        } else {
            DeleteTranscriptionJobRequest.Builder builder = DeleteTranscriptionJobRequest.builder();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME))) {
                String jobName = exchange.getIn().getHeader(Transcribe2Constants.TRANSCRIPTION_JOB_NAME, String.class);
                builder.transcriptionJobName(jobName);
            }
            try {
                transcribeClient.deleteTranscriptionJob(builder.build());
            } catch (AwsServiceException ase) {
                LOG.trace("Delete Transcription Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
    }
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
Pair #3157 Negative (Non-Clone)
ID: 2471_2002
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = Jsoner.unescape(code.code);
                if (raw) {
                    printer().printf("%s%n", c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%n", code.line, c);
                    } else {
                        printer().printf("      %s%n", c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 27_44
ClassID: 27
File: systems/camel-java/components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/converter/ActiveMQMessageConverterLoader.java
Name: org.apache.camel.component.activemq6.converter.ActiveMQMessageConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.activemq.command.ActiveMQMessage.class, org.apache.camel.Exchange.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toMessage((org.apache.camel.Exchange) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.Processor.class, jakarta.jms.MessageListener.class, false,
            (type, exchange, value) -> {
                Object answer = getActiveMQMessageConverter().toProcessor((jakarta.jms.MessageListener) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3158 Negative (Non-Clone)
ID: 2598_2215
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnum(final String key)
    public <T extends Enum<T>> T getEnum(final String key) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        value = this.getStringOrDefault(key, "");
        if (value == null) {
            return null;
        }
         
        splitValues = value.split("\\.");
        numberOfSplitValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfSplitValues; i++) {
            if (i == (numberOfSplitValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfSplitValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3159 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 3264_2624
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint)
    public Exchange receive(Endpoint endpoint) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive();
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #3160 Negative (Non-Clone)
ID: 3256_2611
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/ShortUuidGenerator.java
Name: org.apache.camel.support.ShortUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        int l = seed.length;
        char[] hexChars = new char[16];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 9; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
Pair #3161 Negative (Non-Clone)
ID: 3205_2470
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStop()
    protected void doStop() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStop(this);
        }

        super.doStop();

        getCamelContext().stop();

        for (MainListener listener : listeners) {
            listener.afterStop(this);
        }
    }
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
Pair #3162 Negative (Non-Clone)
ID: 2386_1882
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPrivmsg(String target, IRCUser user, String msg)
        public void onPrivmsg(String target, IRCUser user, String msg) {
            if (configuration.isOnPrivmsg()) {
                Exchange exchange = createOnPrivmsgExchange(target, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2363_1855
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.ClaudeStreamParser.extractCompletionReason(String chunk)
    public String extractCompletionReason(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode type = node.get("type");

        if (type != null && "message_delta".equals(type.asText())) {
            JsonNode delta = node.get("delta");
            if (delta != null) {
                JsonNode stopReason = delta.get("stop_reason");
                return stopReason != null && !stopReason.isNull() ? stopReason.asText() : null;
            }
        }
        return null;
    }
Pair #3163 Negative (Non-Clone)
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #3164 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 189_201
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetJob(Exchange exchange, AsyncCallback callback)
    private void processGetJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        Job job = exchange.getIn().getBody(Job.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3165 Negative (Non-Clone)
ID: 1511_1354
ClassID: 1511
File: systems/camel-java/components/camel-exec/src/generated/java/org/apache/camel/component/exec/ExecResultConverterLoader.java
Name: org.apache.camel.component.exec.ExecResultConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToByteArray((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToInputStream((org.apache.camel.component.exec.ExecResult) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToString((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.w3c.dom.Document.class, org.apache.camel.component.exec.ExecResult.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.exec.ExecResultConverter.convertToDocument((org.apache.camel.component.exec.ExecResult) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3278_2663
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isEqualToIgnoreCase(final Expression left, final Expression right)
    public static Predicate isEqualToIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "=~";
            }
        };
    }
Pair #3166 Negative (Non-Clone)
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
Pair #3167 Negative (Non-Clone)
ID: 1859_1522
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3168 Negative (Non-Clone)
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3169 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 1490_1328
ClassID: 1490
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.deserializeJavaObjectFromStream(InputStream is, CamelContext context)
    public static Object deserializeJavaObjectFromStream(InputStream is, CamelContext context)
            throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer;
        ObjectInputStream ois = new CamelObjectInputStream(is, context);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #3170 Negative (Non-Clone)
ID: 715_656
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry2/src/main/java/org/apache/camel/opentelemetry2/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry2.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    private Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
ID: 13_11
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3171 Negative (Non-Clone)
ID: 2482_2034
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
ID: 9_1
ClassID: 9
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheEndpoint.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        cache = CamelContextHelper.lookup(getCamelContext(), cacheName, Cache.class);
        if (cache == null) {
            if (configuration.isCreateCacheIfNotExist()) {
                cache = getComponent().getOrCreateCache(cacheName, configuration);
            } else {
                throw new IllegalArgumentException(
                        "Cache instance '" + cacheName + "' not found and createCacheIfNotExist is set to false");
            }
        }
    }
Pair #3172 Negative (Non-Clone)
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #3173 Negative (Non-Clone)
ID: 1315_1215
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doGetDeployment(Exchange exchange)
    protected void doGetDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Get a specific Deployment require specify a Deployment name");
            throw new IllegalArgumentException("Get a specific Deployment require specify a Deployment name");
        }
        Deployment deployment;
        if (ObjectHelper.isNotEmpty(namespace)) {
            deployment = getEndpoint().getKubernetesClient().apps().deployments()
                    .inNamespace(namespace).withName(deploymentName).get();
        } else {
            deployment = getEndpoint().getKubernetesClient().apps().deployments().withName(deploymentName).get();
        }

        prepareOutboundMessage(exchange, deployment);
    }
ID: 1689_1410
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelEndpointFactoryBean) {
                CamelEndpointFactoryBean factoryBean = (CamelEndpointFactoryBean) value;
                builder.addPropertyValue("properties", factoryBean.getProperties());
            }
        }
Pair #3174 Negative (Non-Clone)
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 3258_2615
ClassID: 3258
File: systems/camel-java/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrySelectors.java
Name: org.apache.camel.impl.cloud.ServiceRegistrySelectors.select(Collection<ServiceRegistry> services)
        public Optional<ServiceRegistry> select(Collection<ServiceRegistry> services) {
            Optional<Map.Entry<Integer, List<ServiceRegistry>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(ServiceRegistry::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple ServiceRegistry instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
Pair #3175 Negative (Non-Clone)
ID: 1147_985
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #3176 Negative (Non-Clone)
ID: 2556_2125
ClassID: 2556
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
Name: org.apache.camel.parser.helper.RouteCoverageHelper.parseDumpRouteCoverageByRouteId(String directory, String routeId)
    public static List<CoverageData> parseDumpRouteCoverageByRouteId(String directory, String routeId) throws Exception {
        List<CoverageData> answer = new ArrayList<>();

        if (routeId == null) {
            return answer;
        }
        File[] files = new File(directory).listFiles(f -> f.getName().endsWith(".xml"));
        if (files == null) {
            return answer;
        }

        CamelCatalog catalog = new DefaultCamelCatalog(true);

        for (File file : files) {
            try (FileInputStream fis = new FileInputStream(file)) {
                Document dom = XmlLineNumberParser.parseXml(fis);
                NodeList routes = dom.getElementsByTagName("route");
                for (int i = 0; i < routes.getLength(); i++) {
                    Node route = routes.item(i);
                    Node n = route.getAttributes().getNamedItem("id");
                    String id = n != null ? n.getNodeValue() : null;
                    if (routeId.equals(id)) {
                         
                        AtomicInteger counter = new AtomicInteger();
                        parseRouteData(catalog, route, answer, counter, routeId);
                    }
                }
            }
        }

        return answer;
    }
ID: 438_456
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(false);
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #3177 Negative (Non-Clone)
ID: 2646_2301
ClassID: 2646
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/PooledTaskFactory.java
Name: org.apache.camel.processor.PooledTaskFactory.release(PooledExchangeTask task)
    public boolean release(PooledExchangeTask task) {
        try {
            task.reset();
            boolean inserted = pool.offer(task);
            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            return false;
        }
    }
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3178 Negative (Non-Clone)
ID: 1107_939
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(IAMProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No operation name given. Cannot proceed with IAM operations.");
            }
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.OPERATION))
                            ? (String) exchange.getProperty(IAMProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                || ObjectHelper.isNotEmpty(endpoint.getUserId())) {
            clientConfigurations.setUserId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.USER_ID))
                            ? (String) exchange.getProperty(IAMProperties.USER_ID)
                            : endpoint.getUserId());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                || ObjectHelper.isNotEmpty(endpoint.getGroupId())) {
            clientConfigurations.setGroupId(
                    ObjectHelper.isNotEmpty(exchange.getProperty(IAMProperties.GROUP_ID))
                            ? (String) exchange.getProperty(IAMProperties.GROUP_ID)
                            : endpoint.getGroupId());
        }
    }
ID: 1893_1565
ClassID: 1893
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.parseArguments(String[] arguments)
    public void parseArguments(String[] arguments) {
        LinkedList<String> args = new LinkedList<>(Arrays.asList(arguments));

        boolean valid = true;
        while (!args.isEmpty()) {
            initOptions();
            String arg = args.removeFirst();

            boolean handled = false;
            for (Option option : options) {
                if (option.processOption(arg, args)) {
                    handled = true;
                    break;
                }
            }
            if (!handled) {
                System.out.println("Unknown option: " + arg);
                System.out.println();
                valid = false;
                break;
            }
        }
        if (!valid) {
            showOptions();
            completed();
        }
    }
Pair #3179 Negative (Non-Clone)
ID: 110_102
ClassID: 110
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
Name: org.apache.camel.impl.console.DefaultDevConsoleRegistry.register(DevConsole console)
    public boolean register(DevConsole console) {
        boolean result;
         
        if (getConsole(console.getId()).isPresent()) {
            return false;
        }
        result = consoles.add(console);
        if (result) {
            CamelContextAware.trySetCamelContext(console, camelContext);
             
            ServiceHelper.startService(console);
            LOG.debug("DevConsole with id {} successfully registered", console.getId());
        }
        return result;
    }
ID: 973_816
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.add(final String key)
    public boolean add(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    insert(key);
                    return Boolean.TRUE;
                } else {
                    return Boolean.FALSE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #3180 Negative (Non-Clone)
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3181 Negative (Non-Clone)
ID: 2442_1922
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getStatus(SuspendedRow r)
    private String getStatus(SuspendedRow r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = "Created";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(done).reset().toString();
            } else {
                return done;
            }
        }
        if (!r.done) {
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a("Breakpoint").reset().toString();
            } else {
                return "Breakpoint";
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
ID: 2243_1764
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
Pair #3182 Negative (Non-Clone)
ID: 3303_2712
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureNamespacesCapacity(int size)
    protected void ensureNamespacesCapacity(int size) {
        final int namespaceSize = namespacePrefix != null ? namespacePrefix.length : 0;
        if (size >= namespaceSize) {
            final int newSize = size > 7 ? 2 * size : 8;  
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING namespaceSize " + namespaceSize + " ==> " + newSize);
            }
            final String[] newNamespacePrefix = new String[newSize];
            final String[] newNamespaceUri = new String[newSize];
            if (namespacePrefix != null) {
                System.arraycopy(namespacePrefix, 0, newNamespacePrefix, 0, namespaceEnd);
                System.arraycopy(namespaceUri, 0, newNamespaceUri, 0, namespaceEnd);
            }
            namespacePrefix = newNamespacePrefix;
            namespaceUri = newNamespaceUri;

            if (!allStringsInterned) {
                final int[] newNamespacePrefixHash = new int[newSize];
                if (namespacePrefixHash != null) {
                    System.arraycopy(namespacePrefixHash, 0, newNamespacePrefixHash, 0, namespaceEnd);
                }
                namespacePrefixHash = newNamespacePrefixHash;
            }
             
             
        }
    }
ID: 440_461
ClassID: 440
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyPayloadHelper.java
Name: org.apache.camel.component.netty.NettyPayloadHelper.setOut(Exchange exchange, Object payload)
    public static void setOut(Exchange exchange, Object payload) {
        if (payload instanceof DefaultExchangeHolder) {
            DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) payload);
        } else if (payload instanceof AddressedEnvelope) {
            @SuppressWarnings("unchecked")
            AddressedEnvelope<Object, InetSocketAddress> dp = (AddressedEnvelope<Object, InetSocketAddress>) payload;
             
            if (dp.content() instanceof DefaultExchangeHolder) {
                DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) dp.content());
            } else {
                 
                exchange.getOut().setBody(dp.content());
            }
             
            exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, dp.sender());
        } else {
             
            exchange.getOut().setHeaders(exchange.getIn().getHeaders());
            exchange.getOut().setBody(payload);
        }
    }
Pair #3183 Negative (Non-Clone)
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
ID: 2466_1979
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction.waitForOutputFile(Path outputFile)
    protected JsonObject waitForOutputFile(Path outputFile) {
        StopWatch watch = new StopWatch();
        long wait = 10000;
        while (watch.taken() < wait) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(20);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #3184 Negative (Non-Clone)
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
ID: 2477_2022
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListPlatformHttp.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
Pair #3185 Negative (Non-Clone)
ID: 1289_1135
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in)
    public static XQueryBuilder xquery(final InputStream in) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3186 Negative (Non-Clone)
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
ID: 1313_1209
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation)
    private void doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        NodeSpec nodeSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_SPEC, NodeSpec.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("{} a specific node require specify a node name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific node require specify a node name", operationName));
        }
        if (ObjectHelper.isEmpty(nodeSpec)) {
            LOG.error("{} a specific node require specify a node spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific node require specify a node spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Node nodeCreating = new NodeBuilder().withNewMetadata().withName(nodeName).withLabels(labels).endMetadata()
                .withSpec(nodeSpec).build();
        Node node = operation.apply(getEndpoint().getKubernetesClient().nodes().resource(nodeCreating));

        prepareOutboundMessage(exchange, node);
    }
Pair #3187 Negative (Non-Clone)
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 576_547
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.listObjects(MinioClient minioClient, Exchange exchange)
    private void listObjects(MinioClient minioClient, Exchange exchange) throws InvalidPayloadException {

        if (getConfiguration().isPojoRequest()) {
            ListObjectsArgs.Builder payload = exchange.getIn().getMandatoryBody(ListObjectsArgs.Builder.class);
            if (isNotEmpty(payload)) {
                Iterable<Result<Item>> objectList = minioClient.listObjects(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(objectList);
            }
        } else {
            final String bucketName = determineBucketName(exchange);

            Iterable<Result<Item>> objectList = minioClient.listObjects(ListObjectsArgs.builder()
                    .bucket(bucketName)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(objectList);
        }
    }
Pair #3188 Negative (Non-Clone)
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
Pair #3189 Negative (Non-Clone)
ID: 301_358
ClassID: 301
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/MongoDBSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.MongoDBSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);

        span.setTag(TagConstants.DB_SYSTEM, getComponent());
        Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
        String database = queryParameters.get("database");
        if (database != null) {
            span.setTag(TagConstants.DB_NAME, database);
        }
        span.setTag(TagConstants.DB_STATEMENT, queryParameters.toString());
    }
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3190 Negative (Non-Clone)
ID: 305_369
ClassID: 305
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        if (path == null) {
            LOG.warn("The provided path is null and has no parameters to be evaluated");
            return Collections.emptyList();
        }

        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
ID: 1799_1470
ClassID: 1799
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
Name: org.apache.camel.converter.jaxb.JaxbDataFormat.createUnmarshaller()
    protected Unmarshaller createUnmarshaller() throws JAXBException {
        Unmarshaller unmarshaller = getContext().createUnmarshaller();
        if (schema != null) {
            unmarshaller.setSchema(cachedSchema);
            unmarshaller.setEventHandler((ValidationEvent event) -> {
                 
                return event.getSeverity() < getSchemaSeverityLevel();
            });
        }

        return unmarshaller;
    }
Pair #3191 Negative (Non-Clone)
ID: 2504_2050
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDefaultValue(JsonNode node)
        public AnnotationBuilder withDefaultValue(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual() && !node.isNumber() && !node.isBoolean()) {
                return this;
            }

            return withDefaultValue(node.asText());
        }
ID: 2605_2233
ClassID: 2605
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/Strings.java
Name: org.apache.camel.tooling.util.Strings.camelCaseToDash(String text)
    public static String camelCaseToDash(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        char prev = 0;

        char[] arr = text.toCharArray();
        StringBuilder answer = new StringBuilder(arr.length < 13 ? 16 : arr.length + 8);

        for (int i = 0; i < arr.length; i++) {
            char ch = arr[i];

            if (ch == '-' || ch == '_') {
                answer.append("-");
            } else {
                if (Character.isUpperCase(ch) && prev != 0) {
                    char next;

                    if (i < arr.length - 1) {
                        next = arr[i + 1];
                    } else {
                        next = 0;
                    }

                    if (!Character.isUpperCase(prev) || next != 0 && Character.isLowerCase(next)) {
                        applyDashPrefix(prev, answer, ch);
                    } else {
                        answer.append(Character.toLowerCase(ch));
                    }
                } else {
                    answer.append(Character.toLowerCase(ch));
                }
            }
            prev = ch;
        }

        return answer.toString();
    }
Pair #3192 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 172_131
ClassID: 172
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/ZeebeProducer.java
Name: org.apache.camel.component.zeebe.ZeebeProducer.isJobOperation(OperationName operationName)
    private static boolean isJobOperation(OperationName operationName) {
        switch (operationName) {
            case COMPLETE_JOB:
            case FAIL_JOB:
            case UPDATE_JOB_RETRIES:
            case THROW_ERROR:
                return true;
            default:
                return false;
        }
    }
Pair #3193 Negative (Non-Clone)
ID: 3252_2604
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.createInstance()
    protected KeyManagersParameters createInstance() throws Exception {
        KeyManagersParameters newInstance = new KeyManagersParameters();

        newInstance.setAlgorithm(algorithm);
        newInstance.setKeyPassword(keyPassword);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        return newInstance;
    }
ID: 1407_1260
ClassID: 1407
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppUtils.java
Name: org.apache.camel.component.smpp.SmppUtils.copySubmitMulti(SubmitMulti src)
    public static SubmitMulti copySubmitMulti(SubmitMulti src) {
        SubmitMulti dest = new SubmitMulti();
        dest.setCommandId(src.getCommandId());
        dest.setCommandLength(src.getCommandLength());
        dest.setCommandStatus(src.getCommandStatus());
        dest.setDataCoding(src.getDataCoding());
        dest.setDestAddresses(src.getDestAddresses());
        dest.setEsmClass(src.getEsmClass());
        dest.setOptionalParameters(src.getOptionalParameters());
        dest.setPriorityFlag(src.getPriorityFlag());
        dest.setProtocolId(src.getProtocolId());
        dest.setRegisteredDelivery(src.getRegisteredDelivery());
        dest.setReplaceIfPresentFlag(src.getReplaceIfPresentFlag());
        dest.setScheduleDeliveryTime(src.getScheduleDeliveryTime());
        dest.setSequenceNumber(src.getSequenceNumber());
        dest.setServiceType(src.getServiceType());
        dest.setShortMessage(src.getShortMessage());
        dest.setSmDefaultMsgId(src.getSmDefaultMsgId());
        dest.setSourceAddr(src.getSourceAddr());
        dest.setSourceAddrNpi(src.getSourceAddrNpi());
        dest.setSourceAddrTon(src.getSourceAddrTon());
        dest.setValidityPeriod(src.getValidityPeriod());
        return dest;
    }
Pair #3194 Negative (Non-Clone)
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
Pair #3195 Negative (Non-Clone)
ID: 1853_1507
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PrivateKey importPrivateKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPrivateKey(keyData);
        } else {
            derBytes = keyData;
        }

        PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePrivate(spec);
    }
ID: 765_685
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-cos/src/main/java/org/apache/camel/component/ibm/cos/IBMCOSProducer.java
Name: org.apache.camel.component.ibm.cos.IBMCOSProducer.determineKey(Exchange exchange)
    private String determineKey(Exchange exchange) {
        String key = exchange.getIn().getHeader(IBMCOSConstants.KEY, String.class);
        if (key == null) {
            key = getConfiguration().getKeyName();
        }
        if (key == null) {
            throw new IllegalArgumentException("Key must be specified");
        }
        return key;
    }
Pair #3196 Negative (Non-Clone)
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #3197 Negative (Non-Clone)
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 1107_940
ClassID: 1107
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateClientConfigs(Exchange exchange, ClientConfigurations clientConfigurations) {

         
        if (ObjectHelper.isEmpty(exchange.getProperty(OBSProperties.OPERATION))
                && ObjectHelper.isEmpty(endpoint.getOperation())) {
            LOG.error("No operation name given. Cannot proceed with OBS operations.");
            throw new IllegalArgumentException("Operation name not found");
        } else {
            clientConfigurations.setOperation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OPERATION))
                            ? (String) exchange.getProperty(OBSProperties.OPERATION)
                            : endpoint.getOperation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getBucketName())) {
            clientConfigurations.setBucketName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_NAME))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_NAME)
                            : endpoint.getBucketName());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                || ObjectHelper.isNotEmpty(endpoint.getBucketLocation())) {
            clientConfigurations.setBucketLocation(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.BUCKET_LOCATION))
                            ? (String) exchange.getProperty(OBSProperties.BUCKET_LOCATION)
                            : endpoint.getBucketLocation());
        }

         
        if (ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                || ObjectHelper.isNotEmpty(endpoint.getObjectName())) {
            clientConfigurations.setObjectName(
                    ObjectHelper.isNotEmpty(exchange.getProperty(OBSProperties.OBJECT_NAME))
                            ? (String) exchange.getProperty(OBSProperties.OBJECT_NAME)
                            : endpoint.getObjectName());
        }
    }
Pair #3198 Negative (Non-Clone)
ID: 381_424
ClassID: 381
File: systems/camel-java/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
Name: org.apache.camel.component.zookeepermaster.policy.MasterRoutePolicy.slaves()
    public String slaves() {
        if (groupListener == null) {
            return null;
        }
        try {
            return new ObjectMapper()
                    .enable(SerializationFeature.INDENT_OUTPUT)
                    .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
                    .writeValueAsString(groupListener.getGroup().slaves());
        } catch (Exception e) {
            return null;
        }
    }
ID: 1690_1413
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.xml.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            if (camelContext == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    camelContext = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts != null && contexts.size() == 1) {
                        camelContext = contexts.values().iterator().next();
                    }
                }
            }
            return camelContext;
        }
Pair #3199 Negative (Non-Clone)
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
Pair #3200 Negative (Non-Clone)
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
Pair #3201 Negative (Non-Clone)
ID: 2471_2003
ClassID: 2471
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.printSource(List<Row> rows)
    protected void printSource(List<Row> rows) {
        for (Row row : rows) {
            printer().println();
            if (!raw) {
                printer().printf("Source: %s%n", row.location);
                printer().println("--------------------------------------------------------------------------------");
            }
            for (int i = 0; i < row.code.size(); i++) {
                Code code = row.code.get(i);
                String c = StringHelper.limitLength(Jsoner.unescape(code.code), 90, " (clipped)");
                String pad = StringHelper.padString(code.level);
                if (raw) {
                    printer().printf("%s%s%n", pad, c);
                } else {
                    if (code.line != -1) {
                        printer().printf("%4d: %s%s%n", code.line, pad, c);
                    } else {
                        printer().printf("      %s%s%n", pad, c);
                    }
                }
            }
            printer().println();
        }
    }
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3202 Negative (Non-Clone)
ID: 1130_967
ClassID: 1130
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.receive(String requestUriPattern, HttpRequestHandler handler)
    public void receive(String requestUriPattern, HttpRequestHandler handler) {
        if (listenerThread != null) {
            lock.lock();
            try {
                listenerThread.registerHandler(requestUriPattern, handler);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 178_162
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeQueryJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void changeQueryJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, queryJobUrl(jobId), headers);
        QueryJob job = new QueryJob();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
Pair #3203 Negative (Non-Clone)
ID: 3223_2511
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);
        final Expression rightExp = right.createExpression(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return createAndExpression(leftExp, rightExp);
        } else if (operator == LogicalOperatorType.OR) {
            return createOrExpression(leftExp, rightExp);
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
Pair #3204 Negative (Non-Clone)
ID: 1808_1490
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeExecCreateRequest(DockerClient client, Message message)
    private ExecCreateCmd executeExecCreateRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Exec Create Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        ExecCreateCmd execCreateCmd = client.execCreateCmd(containerId);

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            execCreateCmd.withAttachStderr(attachStdErr);
        }

        if (attachStdIn != null) {
            execCreateCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            execCreateCmd.withAttachStdout(attachStdOut);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            execCreateCmd.withCmd(cmd);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            execCreateCmd.withTty(tty);
        }

        return execCreateCmd;

    }
ID: 976_824
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.PostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #3205 Negative (Non-Clone)
ID: 1788_1469
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenXMLExpressionIterator.java
Name: org.apache.camel.support.builder.TokenXMLExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3206 Negative (Non-Clone)
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
Pair #3207 Negative (Non-Clone)
ID: 1957_1595
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.fetch(Exchange exchange)
    private void fetch(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        Index index = this.client.getIndexConnection(indexName);

        FetchResponse result
                = index.fetch(elements);

        populateFetchResponse(result, exchange);
    }
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3208 Negative (Non-Clone)
ID: 1860_1525
ClassID: 1860
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.buildMetadataPath(String secretPath)
    private String buildMetadataPath(String secretPath) {
        if (!cloud) {
            return secretsEngine + "/metadata/" + secretPath;
        } else {
            if (namespace != null && !namespace.isEmpty()) {
                return namespace + "/" + secretsEngine + "/metadata/" + secretPath;
            } else {
                return secretsEngine + "/metadata/" + secretPath;
            }
        }
    }
ID: 2400_1890
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberProducer.java
Name: org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

        long expectedValue = 0L;

        if (headers.containsKey(HazelcastConstants.EXPECTED_VALUE)) {
            expectedValue = (long) headers.get(HazelcastConstants.EXPECTED_VALUE);
        }

        HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {

            case INCREMENT:
                this.increment(exchange);
                break;

            case DECREMENT:
                this.decrement(exchange);
                break;

            case COMPARE_AND_SET:
                this.compare(expectedValue, exchange);
                break;

            case GET_AND_ADD:
                this.getAndAdd(exchange);
                break;

            case SET_VALUE:
                this.set(exchange);
                break;

            case GET:
                this.get(exchange);
                break;

            case DESTROY:
                this.destroy();
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the ATOMICNUMBER.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
Pair #3209 Negative (Non-Clone)
ID: 103_78
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateRole(Keycloak keycloakClient, Exchange exchange)
    private void updateRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().get(roleName).update((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update role requires POJO request with RoleRepresentation");
        }
    }
ID: 1115_950
ClassID: 1115
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        ClientConfigurations clientConfigurations = initializeConfigurations(endpoint);
        if (frsClient == null) {
            initializeSdkClient(endpoint, clientConfigurations);
        }
        String operation = endpoint.getOperation();
        if (StringUtils.isEmpty(operation)) {
            throw new IllegalStateException("operation cannot be empty");
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Performing frs operation: {}", operation);
        }
        switch (operation) {
            case FaceRecognitionConstants.OPERATION_FACE_DETECTION:
                performFaceDetectionOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_VERIFICATION:
                performFaceVerificationOperation(exchange, clientConfigurations);
                break;
            case FaceRecognitionConstants.OPERATION_FACE_LIVE_DETECT:
                performLiveDetectOperation(exchange, clientConfigurations);
                break;
            default:
                throw new UnsupportedOperationException(
                        "operation needs to be faceDetection, faceVerification or faceLiveDetection");
        }
    }
Pair #3210 Negative (Non-Clone)
ID: 2661_2340
ClassID: 2661
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState)
    protected boolean processAsynchronously(
            final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
        try {
            if (LOG.isTraceEnabled()) {
                exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.nanoTime());
            }
            exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
            long delay = throttlingState.peek().getDelay(TimeUnit.NANOSECONDS);
            asyncExecutor.schedule(() -> process(exchange, callback), delay, TimeUnit.NANOSECONDS);
            return false;
        } catch (final RejectedExecutionException e) {
            if (isCallerRunsWhenRejected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}",
                            exchange.getExchangeId());
                }
                exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                return process(exchange, callback);
            }
            throw e;
        }
    }
ID: 2268_1787
ClassID: 2268
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.configureParameters(Query query)
    protected void configureParameters(Query query) {
        int maxResults = getEndpoint().getMaximumResults();
        if (maxResults > 0) {
            query.setMaxResults(maxResults);
        }
         
        if (parameters != null) {
            for (Entry<String, Object> entry : parameters.entrySet()) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
    }
Pair #3211 Negative (Non-Clone)
ID: 231_279
ClassID: 231
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.getExclusiveReadLockStrategy(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<ShareFileItem> getExclusiveReadLockStrategy(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<ShareFileItem> strategy
                = (GenericFileExclusiveReadLockStrategy<ShareFileItem>) params.get("exclusiveReadLockStrategy");
        if (strategy != null) {
            return strategy;
        }

         
        String readLock = (String) params.get("readLock");
        if (ObjectHelper.isNotEmpty(readLock)) {
            if ("none".equals(readLock) || "false".equals(readLock)) {
                return null;
            } else if ("rename".equals(readLock)) {
                GenericFileRenameExclusiveReadLockStrategy<ShareFileItem> readLockStrategy
                        = new GenericFileRenameExclusiveReadLockStrategy<>();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            } else if ("changed".equals(readLock)) {
                FilesChangedExclusiveReadLockStrategy readLockStrategy = new FilesChangedExclusiveReadLockStrategy();

                StrategyUtil.setup(readLockStrategy, params);

                return readLockStrategy;
            }
        }

        return null;
    }
ID: 305_367
ClassID: 305
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #3212 Negative (Non-Clone)
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
ID: 302_360
ClassID: 302
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AzureServiceBusSpanDecorator.java
Name: org.apache.camel.tracing.decorators.AzureServiceBusSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String contentType = exchange.getIn().getHeader(CONTENT_TYPE, String.class);
        if (contentType != null) {
            span.setTag(SERVICEBUS_CONTENT_TYPE, contentType);
        }

        String correlationId = exchange.getIn().getHeader(CORRELATION_ID, String.class);
        if (correlationId != null) {
            span.setTag(SERVICEBUS_CORRELATION_ID, correlationId);
        }

        Long deliveryCount = exchange.getIn().getHeader(DELIVERY_COUNT, Long.class);
        if (deliveryCount != null) {
            span.setTag(SERVICEBUS_DELIVERY_COUNT, deliveryCount);
        }

        Long enqueuedSequenceNumber = exchange.getIn().getHeader(ENQUEUED_SEQUENCE_NUMBER, Long.class);
        if (enqueuedSequenceNumber != null) {
            span.setTag(SERVICEBUS_ENQUEUED_SEQUENCE_NUMBER, enqueuedSequenceNumber);
        }

        OffsetDateTime enqueuedTime = exchange.getIn().getHeader(ENQUEUED_TIME, OffsetDateTime.class);
        if (enqueuedTime != null) {
            span.setTag(SERVICEBUS_ENQUEUED_TIME, enqueuedTime.toString());
        }

        OffsetDateTime expiresAt = exchange.getIn().getHeader(EXPIRES_AT, OffsetDateTime.class);
        if (expiresAt != null) {
            span.setTag(SERVICEBUS_EXPIRES_AT, expiresAt.toString());
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(SERVICEBUS_PARTITION_KEY, partitionKey);
        }

        String replyToSessionId = exchange.getIn().getHeader(REPLY_TO_SESSION_ID, String.class);
        if (replyToSessionId != null) {
            span.setTag(SERVICEBUS_REPLY_TO_SESSION_ID, replyToSessionId);
        }

        String sessionId = exchange.getIn().getHeader(SESSION_ID, String.class);
        if (sessionId != null) {
            span.setTag(SERVICEBUS_SESSION_ID, sessionId);
        }

        Duration timeToLive = exchange.getIn().getHeader(TIME_TO_LIVE, Duration.class);
        if (timeToLive != null) {
            span.setTag(SERVICEBUS_TIME_TO_LIVE, timeToLive.toString());
        }
    }
Pair #3213 Negative (Non-Clone)
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
ID: 3310_2725
ClassID: 3310
File: systems/camel-java/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
Name: org.apache.camel.yaml.io.ModelJSonSchemaResolver.doLoadResource(String path)
    private String doLoadResource(String path) throws IOException {
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null && camelContext != null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is == null) {
            is = ObjectHelper.loadResourceAsStream(path, Thread.currentThread().getContextClassLoader());
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
Pair #3214 Negative (Non-Clone)
ID: 3284_2678
ClassID: 3284
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertVariableProcessor.java
Name: org.apache.camel.support.processor.ConvertVariableProcessor.ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName, Class<?> type, String charset, boolean mandatory)
    public ConvertVariableProcessor(String name, Expression variableName, String toName, Expression toVariableName,
                                    Class<?> type, String charset, boolean mandatory) {
        ObjectHelper.notNull(variableName, "variableName");
        ObjectHelper.notNull(type, "type", this);
        this.name = name;
        this.variableName = variableName;
        this.toName = toName;
        this.toVariableName = toVariableName;
        this.type = type;
        this.charset = IOHelper.normalizeCharset(charset);
        this.mandatory = mandatory;
    }
ID: 201_230
ClassID: 201
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqExpression.java
Name: org.apache.camel.language.jq.JqExpression.matches(Exchange exchange)
    public boolean matches(Exchange exchange) {
        final Object value = evaluate(exchange, Object.class);

        if (value instanceof BooleanNode) {
            return ((BooleanNode) value).asBoolean();
        }
        if (value instanceof Collection) {
            return !((Collection<?>) value).isEmpty();
        }

        return false;
    }
Pair #3215 Negative (Non-Clone)
ID: 3205_2469
ClassID: 3205
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/SimpleMain.java
Name: org.apache.camel.main.SimpleMain.doStart()
    protected void doStart() throws Exception {
        for (MainListener listener : listeners) {
            listener.beforeStart(this);
        }

        super.doStart();

        getCamelContext().start();

        for (MainListener listener : listeners) {
            listener.afterStart(this);
        }
    }
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
Pair #3216 Negative (Non-Clone)
ID: 3236_2556
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/validator/CustomValidatorReifier.java
Name: org.apache.camel.reifier.validator.CustomValidatorReifier.doCreateValidator()
    protected Validator doCreateValidator() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'type' must be specified for customValidator");
        }
        Validator validator;
        if (definition.getRef() != null) {
            validator = lookupByNameAndType(definition.getRef(), Validator.class);
            if (validator == null) {
                throw new IllegalArgumentException("Cannot find validator with ref:" + definition.getRef());
            }
            if (validator.getType() != null) {
                throw new IllegalArgumentException(
                        String.format("Validator '%s' is already in use. Please check if duplicate validator exists.",
                                definition.getRef()));
            }
        } else {
            Class<Validator> validatorClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Validator.class);
            if (validatorClass == null) {
                throw new IllegalArgumentException("Cannot find validator class: " + definition.getClassName());
            }
             
            validator = camelContext.getInjector().newInstance(validatorClass, false);  
        }
        validator.setCamelContext(camelContext);
        return validator.setType(definition.getType());
    }
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
Pair #3217 Negative (Non-Clone)
ID: 119_109
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setCertificateName(String certificateName)
    public void setCertificateName(String certificateName) {
        if (context != null && certificateName != null) {
            Certificate certificate = context.getRegistry().lookupByNameAndType(certificateName, Certificate.class);
            if (certificate != null) {
                setCertificate(certificate);
            }
        }
        if (certificateName != null) {
            this.certificateName = certificateName;
        }
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #3218 Negative (Non-Clone)
ID: 3295_2702
ClassID: 3295
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactoryConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocketFactory>> getSSLServerSocketFactoryConfigurers(SSLContext context) {

        final List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = this.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        Configurer<SSLServerSocketFactory> sslServerSocketFactoryConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocketFactory configure(SSLServerSocketFactory factory) {
                return new SSLServerSocketFactoryDecorator(
                        factory,
                        sslServerSocketConfigurers);
            }
        };

        List<Configurer<SSLServerSocketFactory>> sslServerSocketFactoryConfigurers = new LinkedList<>();
        sslServerSocketFactoryConfigurers.add(sslServerSocketFactoryConfigurer);

        return sslServerSocketFactoryConfigurers;
    }
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #3219 Negative (Non-Clone)
ID: 679_606
ClassID: 679
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/AbstractMicrometerEventNotifier.java
Name: org.apache.camel.component.micrometer.eventnotifier.AbstractMicrometerEventNotifier.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (meterRegistry == null) {
            meterRegistry = MicrometerUtils.getOrCreateMeterRegistry(camelContext.getRegistry(), METRICS_REGISTRY_NAME);
        }

        try {
            MicrometerEventNotifierService registryService = camelContext.hasService(MicrometerEventNotifierService.class);
            if (registryService == null) {
                registryService = new MicrometerEventNotifierService();
                registryService.setMeterRegistry(getMeterRegistry());
                registryService.setPrettyPrint(isPrettyPrint());
                registryService.setSkipCamelInfo(isSkipCamelInfo());
                registryService.setDurationUnit(getDurationUnit());
                registryService.setMatchingTags(Tags.of(KIND, KIND_EXCHANGE));
                camelContext.addService(registryService);
                 
                ServiceHelper.startService(registryService);
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #3220 Negative (Non-Clone)
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 2528_2099
ClassID: 2528
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownReposResolver.java
Name: org.apache.camel.main.download.KnownReposResolver.doLoadKnownRepos(String name)
    private void doLoadKnownRepos(String name) {
        try {
            InputStream is = getClass().getResourceAsStream(name);
            if (is != null) {
                Properties prop = new Properties();
                prop.load(is);
                Map<String, String> map = new HashMap<>();
                for (String key : prop.stringPropertyNames()) {
                    String value = prop.getProperty(key);
                    map.put(key, value);
                }
                addRepos(map);
            }
        } catch (Exception e) {
             
        }
    }
Pair #3221 Negative (Non-Clone)
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
ID: 1309_1170
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.eventReceived(Action action, Event resource)
                public void eventReceived(Action action, Event resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3222 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
Pair #3223 Negative (Non-Clone)
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
Pair #3224 Negative (Non-Clone)
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 618_558
ClassID: 618
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
Name: org.apache.camel.component.file.remote.RemoteFileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
Pair #3225 Negative (Non-Clone)
ID: 678_604
ClassID: 678
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/messagehistory/OpenTelemetryMessageHistoryFactory.java
Name: org.apache.camel.opentelemetry.metrics.messagehistory.OpenTelemetryMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            boolean match = false;
            for (String part : parts) {
                if (PatternHelper.matchPattern(name, part)) {
                    match = true;
                    break;
                }
            }
             
            if (!match) {
                return null;
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new OpenTelemetryMessageHistory(timer, getTimeUnit(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 692_631
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
Name: org.apache.camel.component.lucene.LuceneQueryProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException(
                    "SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
Pair #3226 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3227 Negative (Non-Clone)
ID: 1460_1314
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.deleteState(Exchange exchange, DaprClient client)
    private DaprOperationResponse deleteState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        String eTag = configurationOptionsProxy.getETag(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        DeleteStateRequest stateRequest = new DeleteStateRequest(stateStore, key);
        stateRequest.setEtag(eTag);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        client.deleteState(stateRequest).block();

        return DaprOperationResponse.create(stateRequest);
    }
ID: 1692_1418
ClassID: 1692
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
Name: org.apache.camel.impl.engine.DefaultInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
             
            CamelContextAware.trySetCamelContext(answer, camelContext);
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #3228 Negative (Non-Clone)
ID: 230_275
ClassID: 230
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<ShareFileItem> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<ShareFileItem> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<ShareFileItem> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<ShareFileItem> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3229 Negative (Non-Clone)
ID: 1889_1560
ClassID: 1889
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaUdpProtocolCodecFactory.java
Name: org.apache.camel.component.mina.MinaUdpProtocolCodecFactory.getEncoder(IoSession session)
    public ProtocolEncoder getEncoder(IoSession session) throws Exception {
        return new ProtocolEncoder() {

            public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
                IoBuffer buf = toIoBuffer(message);
                buf.flip();
                out.write(buf);
            }

            public void dispose(IoSession session) throws Exception {
                 
            }
        };
    }
ID: 2602_2224
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getDoubleOrDefault(final String key, final double defaultValue)
    public Double getDoubleOrDefault(final String key, final double defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #3230 Negative (Non-Clone)
ID: 1875_1548
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getType()
    public Knative.Type getType() {
        Knative.Type answer = this.type;
        if (answer == null) {
            String stringValue = getMetadata(Knative.KNATIVE_TYPE);
            if (stringValue != null) {
                answer = Knative.Type.valueOf(stringValue);
            }
        }

        return answer;
    }
ID: 2598_2215
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnum(final String key)
    public <T extends Enum<T>> T getEnum(final String key) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        value = this.getStringOrDefault(key, "");
        if (value == null) {
            return null;
        }
         
        splitValues = value.split("\\.");
        numberOfSplitValues = splitValues.length;
        returnTypeName = new StringBuilder();
        enumName = new StringBuilder();
        for (int i = 0; i < numberOfSplitValues; i++) {
            if (i == (numberOfSplitValues - 1)) {
                 
                enumName.append(splitValues[i]);
            } else if (i == (numberOfSplitValues - 2)) {
                 
                returnTypeName.append(splitValues[i]);
            } else {
                 
                returnTypeName.append(splitValues[i]);
                returnTypeName.append(".");
            }
        }
         
        returnType = (Class<T>) Class.forName(returnTypeName.toString());
        returnable = Enum.valueOf(returnType, enumName.toString());
        return returnable;
    }
Pair #3231 Negative (Non-Clone)
ID: 339_389
ClassID: 339
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(SjmsConstants.JMS_DESTINATION_NAME) != null) {
            return null;
        }

        final String destinationName = parseDestinationName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) {
                exchange.getMessage().setHeader(SjmsConstants.JMS_DESTINATION_NAME, destinationName);
            }
        };
    }
ID: 3294_2699
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLSocketFactorySSLSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLSocket>> getSSLSocketFactorySSLSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLSocket> sslSocketConfigurer = new Configurer<>() {

            @Override
            public SSLSocket configure(SSLSocket socket) {

                if (!getSNIHostNames().isEmpty()) {
                    SSLParameters sslParameters = socket.getSSLParameters();
                    sslParameters.setServerNames(getSNIHostNames());
                    socket.setSSLParameters(sslParameters);
                }

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSSLParameters().getCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);
                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSSLParameters().getCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSSLParameters().getProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSSLParameters().getProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLSocket>> sslSocketConfigurers = new LinkedList<>();
        sslSocketConfigurers.add(sslSocketConfigurer);

        return sslSocketConfigurers;
    }
Pair #3232 Negative (Non-Clone)
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #3233 Negative (Non-Clone)
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
ID: 3177_2453
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(String systemId)
        public void parse(String systemId) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(systemId);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
Pair #3234 Negative (Non-Clone)
ID: 3290_2691
ClassID: 3290
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
Name: org.apache.camel.support.jsse.TrustManagersParameters.createTrustManagers()
    public TrustManager[] createTrustManagers() throws GeneralSecurityException, IOException {
        if (trustManager != null) {
             
            return new TrustManager[] { trustManager };
        }

        LOG.trace("Creating TrustManager[] from TrustManagersParameters [{}]", this);

        TrustManager[] trustManagers = null;

        if (this.getKeyStore() != null) {
            String tmfAlgorithm = this.parsePropertyValue(this.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            TrustManagerFactory tmf;
            if (this.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, this.parsePropertyValue(this.getProvider()));
            }

            LOG.debug("TrustManagerFactory [{}] is using provider [{}] and algorithm [{}].",
                    tmf, tmf.getProvider(), tmf.getAlgorithm());

            KeyStore ks = this.getKeyStore() == null ? null : this.getKeyStore().createKeyStore();
            tmf.init(ks);
            trustManagers = tmf.getTrustManagers();

            LOG.debug("TrustManager[] [{}], initialized from TrustManagerFactory [{}].", trustManagers, tmf);
        }

        return trustManagers;
    }
ID: 749_675
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthClientCredentialsProcessor.java
Name: org.apache.camel.oauth.OAuthClientCredentialsProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var clientId = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_ID);
        var clientSecret = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_SECRET);

        var userProfile = oauth.authenticate(new ClientCredentials()
                .setClientSecret(clientSecret)
                .setClientId(clientId));

        session.putUserProfile(userProfile);
        log.info("Authenticated {}", userProfile.subject());
        userProfile.logDetails();

         
         
        var accessToken = userProfile.accessToken().orElseThrow(() -> new OAuthException("No access_token"));
        msg.setHeader("Authorization", "Bearer " + accessToken);
    }
Pair #3235 Negative (Non-Clone)
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
Pair #3236 Negative (Non-Clone)
ID: 3209_2481
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteStructureDevConsole.java
Name: org.apache.camel.impl.console.RouteStructureDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteStructureDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #3237 Negative (Non-Clone)
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
ID: 697_634
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDeleteList(Exchange exchange, SqlSession session)
    private void doDeleteList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Deleting: {} using statement: {}", in, statement);
            result = session.delete(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3238 Negative (Non-Clone)
ID: 2472_2004
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doStatusCall()
    protected Integer doStatusCall() {
        List<StatusRow> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        StatusRow row = new StatusRow();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);
                        JsonObject jo = root.getMap("trace");
                        if (jo != null) {
                            row.enabled = jo.getBoolean("enabled");
                            row.standby = jo.getBoolean("standby");
                            row.counter = jo.getLong("counter");
                            row.queueSize = jo.getLong("queueSize");
                            row.filter = jo.getString("traceFilter");
                            row.pattern = jo.getString("tracePattern");
                        }
                        rows.add(row);
                    }
                });

         
        rows.sort(this::sortStatusRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.age),
                    new Column().header("STATUS").with(this::getTraceStatus),
                    new Column().header("TOTAL").with(r -> "" + r.counter),
                    new Column().header("QUEUE").with(r -> "" + r.queueSize),
                    new Column().header("FILTER").with(r -> r.filter),
                    new Column().header("PATTERN").with(r -> r.pattern))));
        }

        return 0;
    }
ID: 1490_1330
ClassID: 1490
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.deserializeJavaObjectFromStream(InputStream is)
    public static Object deserializeJavaObjectFromStream(InputStream is) throws ClassNotFoundException, IOException {
        if (is == null) {
            return null;
        }

        Object answer = null;
        ObjectInputStream ois = new ObjectInputStream(is);
        try {
            answer = ois.readObject();
        } finally {
            IOHelper.close(ois);
        }

        return answer;
    }
Pair #3239 Negative (Non-Clone)
ID: 1549_1371
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.deregister(ServiceDefinition definition)
    public void deregister(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            for (ServiceInstance<MetaData> serviceInstance : serviceDiscovery.queryForInstances(definition.getName())) {
                if (Objects.equals(serviceInstance.getId(), definition.getId())) {
                    serviceDiscovery.unregisterService(serviceInstance);

                     
                    serviceList.remove(serviceInstance.getId());
                }
            }
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 697_633
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doSelectOne(Exchange exchange, SqlSession session)
    private void doSelectOne(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            LOG.trace("SelectOne: {} using statement: {}", in, statement);
            result = session.selectOne(statement, in);
        } else {
            LOG.trace("SelectOne using statement: {}", statement);
            result = session.selectOne(statement);
        }

        doProcessResult(exchange, result, session);
    }
Pair #3240 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #3241 Negative (Non-Clone)
ID: 220_254
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/transform/DataLakeCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.storage.datalake.transform.DataLakeCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.datalake.consume");

        if (message.getHeaders().containsKey(DataLakeConstants.ARCHIVE_STATUS)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.datalake." + message.getHeader(DataLakeConstants.ARCHIVE_STATUS, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(DataLakeConstants.E_TAG, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3242 Negative (Non-Clone)
ID: 1316_1218
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doScaleReplicationController(Exchange exchange)
    protected void doScaleReplicationController(Exchange exchange) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("Scale a specific replication controller require specify a replication controller name");
            throw new IllegalArgumentException(
                    "Scale a specific replication controller require specify a replication controller name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific replication controller require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific replication controller require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific replication controller require specify a replicas number");
        }
        ReplicationController rcScaled = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                .withName(rcName).scale(replicasNumber);

        prepareOutboundMessage(exchange, rcScaled.getStatus().getReplicas());
    }
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #3243 Negative (Non-Clone)
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 740_665
ClassID: 740
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
Name: org.apache.camel.maven.config.ConnectorConfigGenerator.generateJavaClass()
    private void generateJavaClass() {
        setPackage();
        setImports();
        setClassNameAndType();
        setClassFields();
        setSettersAndGettersMethods();
        setCreateConnectorConfigurationMethod();
        setConfigureConnectorClassMethod();
        setValidateConnectorConfiguration();
        setGetConnectorDatabaseType();
    }
Pair #3244 Negative (Non-Clone)
ID: 924_798
ClassID: 924
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubComponent.getCredentialsProvider(GooglePubsubEndpoint endpoint)
    private CredentialsProvider getCredentialsProvider(GooglePubsubEndpoint endpoint) throws IOException {
        CredentialsProvider credentialsProvider;

        if (endpoint.isAuthenticate()) {
            credentialsProvider = FixedCredentialsProvider.create(ObjectHelper.isEmpty(endpoint.getServiceAccountKey())
                    ? GoogleCredentials.getApplicationDefault() : ServiceAccountCredentials.fromStream(ResourceHelper
                            .resolveMandatoryResourceAsInputStream(getCamelContext(), endpoint.getServiceAccountKey()))
                            .createScoped(PublisherStubSettings.getDefaultServiceScopes()));
        } else {
            credentialsProvider = NoCredentialsProvider.create();
        }

        return credentialsProvider;
    }
ID: 226_265
ClassID: 226
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    public boolean tryAcquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        long newLastModified = 0;
        long newLength = 0;

        FTPFile[] files = getFtpFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (FTPFile f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getSize();
                if (f.getTimestamp() != null) {
                    newLastModified = f.getTimestamp().getTimeInMillis();
                }
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
Pair #3245 Negative (Non-Clone)
ID: 3333_2732
ClassID: 3333
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsFunction(ThrowingFunction<I, R, T> function)
    public static <I, R, T extends Throwable> Function<I, R> wrapAsFunction(ThrowingFunction<I, R, T> function) {
        return new Function<>() {
            @Override
            public R apply(I in) {
                try {
                    return function.apply(in);

                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3246 Negative (Non-Clone)
ID: 2457_1955
ClassID: 2457
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(Path settings, Path profile)
    protected Set<String> resolveDependencies(Path settings, Path profile) throws Exception {
        Set<String> answer = super.resolveDependencies(settings, profile);

         
        answer.removeIf(s -> s.contains("camel-core"));
        answer.removeIf(s -> s.contains("camel-microprofile-health"));

        if (hawtio) {
            answer.add("mvn:org.apache.camel:camel-management");
            answer.add("mvn:io.hawt:hawtio-quarkus:" + hawtioVersion);
        }

        return answer;
    }
ID: 1498_1343
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePDF(String flavor)
    public DocFlavor forMimeTypePDF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PDF;
        }

        return d;
    }
Pair #3247 Negative (Non-Clone)
ID: 1003_860
ClassID: 1003
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo4endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo4endpointPropertyNames.add(EDM_PROPERTY);
        olingo4endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo4endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo4endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
ID: 682_616
ClassID: 682
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.initAdditionalCounters()
        private void initAdditionalCounters() {
            if (configuration.isExchangesSucceeded()) {
                this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
                        "Number of successfully completed exchanges");
            }
            if (configuration.isExchangesFailed()) {
                this.exchangesFailed
                        = createCounter(namingStrategy.getExchangesFailedName(route),
                                "Number of failed exchanges");
            }
            if (configuration.isExchangesTotal()) {
                this.exchangesTotal
                        = createCounter(namingStrategy.getExchangesTotalName(route),
                                "Total number of processed exchanges");
            }
            if (configuration.isExternalRedeliveries()) {
                this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
                        "Number of external initiated redeliveries (such as from JMS broker)");
            }
            if (configuration.isFailuresHandled()) {
                this.failuresHandled
                        = createCounter(namingStrategy.getFailuresHandledName(route),
                                "Number of failures handled");
            }
            if (configuration.isLongTask()) {
                longTaskTimer = new OpenTelemetryLongTaskTimer(
                        route, meter, attributes, configuration, namingStrategy, longTaskTimeUnit);
            }
        }
Pair #3248 Negative (Non-Clone)
ID: 891_738
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
Name: org.apache.camel.component.google.bigquery.GoogleBigQueryComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:datasetId:tableName\"");
        }

        GoogleBigQueryConfiguration conf = configuration != null ? configuration.copy() : new GoogleBigQueryConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQueryEndpoint endpoint = new GoogleBigQueryEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 1738_1449
ClassID: 1738
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketClientConsumer.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketClientConsumer.processExchange(Exchange exchange)
    protected void processExchange(Exchange exchange) {
        Vertx vertx = getEndpoint().getVertx();
        vertx.executeBlocking(() -> {
            createUoW(exchange);
            getProcessor().process(exchange);
            return null;
        }, false)
                .onComplete(result -> {
                    try {
                        if (result.failed()) {
                            Throwable cause = result.cause();
                            getExceptionHandler().handleException(cause);
                        }
                    } finally {
                        doneUoW(exchange);
                        releaseExchange(exchange, false);
                    }
                });
    }
Pair #3249 Negative (Non-Clone)
ID: 983_842
ClassID: 983
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.SSPTParser(java.io.InputStream stream, String encoding)
  public SSPTParser(java.io.InputStream stream, String encoding) {
	 try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
	 token_source = new SSPTParserTokenManager(jj_input_stream);
	 token = new Token();
	 jj_ntk = -1;
	 jj_gen = 0;
	 for (int i = 0; i < 12; i++) jj_la1[i] = -1;
  }
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
Pair #3250 Negative (Non-Clone)
ID: 1309_1171
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.eventReceived(Action action, Service resource)
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 3221_2506
ClassID: 3221
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SingleQuoteStart.java
Name: org.apache.camel.language.simple.ast.SingleQuoteStart.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        Expression answer = null;
        if (block != null) {
            answer = block.createExpression(camelContext, expression);
        }
        if (answer == null) {
             
            answer = ExpressionBuilder.constantExpression("");
        }
        return answer;
    }
Pair #3251 Negative (Non-Clone)
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
Pair #3252 Negative (Non-Clone)
ID: 559_542
ClassID: 559
File: systems/camel-java/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHelper.java
Name: org.apache.camel.component.spring.ws.SpringWebserviceHelper.toResult(Source source, Result result)
    public static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", defaultCharset);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
Pair #3253 Negative (Non-Clone)
ID: 1311_1195
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doListSecretsByLabels(Exchange exchange)
    protected void doListSecretsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SECRETS_LABELS, Map.class);
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Secrets by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Secrets by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().withLabels(labels).list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 584_548
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java
Name: org.apache.camel.dataformat.univocity.AbstractUniVocityDataFormat.configureFormat(F format)
    protected void configureFormat(F format) {
        if (lineSeparator != null) {
            format.setLineSeparator(lineSeparator);
        }
        if (normalizedLineSeparator != null) {
            format.setNormalizedNewline(normalizedLineSeparator);
        }
        if (comment != null) {
            format.setComment(comment);
        }
    }
Pair #3254 Negative (Non-Clone)
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
ID: 1272_1112
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performUpdate(final Message message, AsyncCallback callback)
    public void performUpdate(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, true);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, true);
        }
        message.setBody(filterId);
        callback.done(false);
    }
Pair #3255 Negative (Non-Clone)
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
Pair #3256 Negative (Non-Clone)
ID: 257_332
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Completed from processing all exchanges...");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }
        return total;
    }
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
Pair #3257 Negative (Non-Clone)
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
ID: 2538_2113
ClassID: 2538
File: systems/camel-java/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
Name: org.apache.camel.catalog.maven.MavenVersionManager.loadVersion(String version)
    public boolean loadVersion(String version) {
        try {
            MavenDownloader mavenDownloader = downloader;
            if (customized) {
                mavenDownloader = mavenDownloader.customize(localRepository, connectTimeout, requestTimeout);
            }

            String camelCatalogGAV = String.format("org.apache.camel:camel-catalog:%s", version);
            resolve(mavenDownloader, camelCatalogGAV, version.contains("SNAPSHOT"));

            this.version = version;
            return true;
        } catch (Exception e) {
            if (log) {
                LOGGER.warn("Cannot load version {} due {}", version, e.getMessage(), e);
            }
            return false;
        }
    }
Pair #3258 Negative (Non-Clone)
ID: 226_264
ClassID: 226
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.tryAcquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    public boolean tryAcquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        long newLastModified = 0;
        long newLength = 0;

        ShareFileItem[] files = getFiles(operations, file);

        LOG.trace("List files {} found {} files", file.getAbsoluteFilePath(), files.length);
        for (ShareFileItem f : files) {
            boolean match;
            if (fastExistsCheck) {
                 
                match = f.getName().equals(file.getAbsoluteFilePath()) || f.getName().equals(file.getFileNameOnly());
            } else {
                match = f.getName().equals(file.getFileNameOnly());
            }
            if (match) {
                newLength = f.getFileSize();
                newLastModified = lastModified(f);
            }
        }

        LOG.trace("Previous last modified: {}, new last modified: {}", lastModified, newLastModified);
        LOG.trace("Previous length: {}, new length: {}", length, newLength);
        long newOlderThan = startTime + watch.taken() - minAge;
        LOG.trace("New older than threshold: {}", newOlderThan);

        if (isReadLockAcquired(lastModified, length, newLastModified, newLength, newOlderThan)) {
            LOG.trace("Read lock acquired.");
            return true;
        }

        lastModified = newLastModified;
        length = newLength;
        return false;
    }
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
Pair #3259 Negative (Non-Clone)
ID: 1492_1333
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final UUID node)
    public static String nodeValue(final int namespace, final UUID node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
ID: 1886_1554
ClassID: 1886
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDefaultCodecFactory(String type, IoService service)
    protected void configureDefaultCodecFactory(String type, IoService service) {
        if (configuration.isTextline()) {
            Charset charset = getEncodingParameter(type, configuration);
            LineDelimiter delimiter = getLineDelimiterParameter(configuration.getTextlineDelimiter());
            MinaTextLineCodecFactory codecFactory = new MinaTextLineCodecFactory(charset, delimiter);
            if (configuration.getEncoderMaxLineLength() > 0) {
                codecFactory.setEncoderMaxLineLength(configuration.getEncoderMaxLineLength());
            }
            if (configuration.getDecoderMaxLineLength() > 0) {
                codecFactory.setDecoderMaxLineLength(configuration.getDecoderMaxLineLength());
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using TextLineCodecFactory: {} using encoding: {} line delimiter: {}({})",
                    type, codecFactory, charset, configuration.getTextlineDelimiter(), delimiter);
            LOG.debug("Encoder maximum line length: {}. Decoder maximum line length: {}",
                    codecFactory.getEncoderMaxLineLength(), codecFactory.getDecoderMaxLineLength());
        } else {
            ObjectSerializationCodecFactory codecFactory = new ObjectSerializationCodecFactory();
            if (configuration.getObjectCodecPattern() != null) {
                String[] arr = configuration.getObjectCodecPattern().split(",");
                codecFactory.accept(arr);
            }
            addCodecFactory(service, codecFactory);
            LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type, codecFactory);
        }
    }
Pair #3260 Negative (Non-Clone)
ID: 2452_1945
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getPropertyEnum(Object prop)
    private static List<String> getPropertyEnum(Object prop) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = prop.getClass().getMethod("get_enum");
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, prop);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
Pair #3261 Negative (Non-Clone)
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #3262 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 3098_2367
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.produces(String mediaType)
    public RestDefinition produces(String mediaType) {
        if (getVerbs().isEmpty()) {
            this.produces = mediaType;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setProduces(mediaType);
        }

        return this;
    }
Pair #3263 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 2522_2089
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SalesforceComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.SalesforceComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "apexMethod": getOrCreateConfiguration((SalesforceComponent) component).setApexMethod((java.lang.String) value); return true;
            case "apexQueryParams": getOrCreateConfiguration((SalesforceComponent) component).setApexQueryParams((java.util.Map) value); return true;
            case "apiVersion": getOrCreateConfiguration((SalesforceComponent) component).setApiVersion((java.lang.String) value); return true;
            case "backoffIncrement": getOrCreateConfiguration((SalesforceComponent) component).setBackoffIncrement((long) value); return true;
            case "batchId": getOrCreateConfiguration((SalesforceComponent) component).setBatchId((java.lang.String) value); return true;
            case "contentType": getOrCreateConfiguration((SalesforceComponent) component).setContentType((org.apache.camel.component.salesforce.api.dto.bulk.ContentType) value); return true;
            case "defaultReplayId": getOrCreateConfiguration((SalesforceComponent) component).setDefaultReplayId((java.lang.Long) value); return true;
            case "fallBackReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallBackReplayId((java.lang.Long) value); return true;
            case "format": getOrCreateConfiguration((SalesforceComponent) component).setFormat((org.apache.camel.component.salesforce.internal.PayloadFormat) value); return true;
            case "httpClient": getOrCreateConfiguration((SalesforceComponent) component).setHttpClient((org.apache.camel.component.salesforce.SalesforceHttpClient) value); return true;
            case "httpClientConnectionTimeout": ((SalesforceComponent) component).setHttpClientConnectionTimeout((long) value); return true;
            case "httpClientIdleTimeout": ((SalesforceComponent) component).setHttpClientIdleTimeout((long) value); return true;
            case "httpMaxContentLength": ((SalesforceComponent) component).setHttpMaxContentLength((java.lang.Integer) value); return true;
            case "httpRequestBufferSize": ((SalesforceComponent) component).setHttpRequestBufferSize((java.lang.Integer) value); return true;
            case "httpRequestTimeout": ((SalesforceComponent) component).setHttpRequestTimeout((long) value); return true;
            case "includeDetails": getOrCreateConfiguration((SalesforceComponent) component).setIncludeDetails((java.lang.Boolean) value); return true;
            case "initialReplayIdMap": getOrCreateConfiguration((SalesforceComponent) component).setInitialReplayIdMap((java.util.Map) value); return true;
            case "instanceId": getOrCreateConfiguration((SalesforceComponent) component).setInstanceId((java.lang.String) value); return true;
            case "jobId": getOrCreateConfiguration((SalesforceComponent) component).setJobId((java.lang.String) value); return true;
            case "limit": getOrCreateConfiguration((SalesforceComponent) component).setLimit((java.lang.Integer) value); return true;
            case "locator": getOrCreateConfiguration((SalesforceComponent) component).setLocator((java.lang.String) value); return true;
            case "maxBackoff": getOrCreateConfiguration((SalesforceComponent) component).setMaxBackoff((long) value); return true;
            case "maxRecords": getOrCreateConfiguration((SalesforceComponent) component).setMaxRecords((java.lang.Integer) value); return true;
            case "notFoundBehaviour": getOrCreateConfiguration((SalesforceComponent) component).setNotFoundBehaviour((org.apache.camel.component.salesforce.NotFoundBehaviour) value); return true;
            case "notifyForFields": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForFields((org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum) value); return true;
            case "notifyForOperationCreate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationCreate((java.lang.Boolean) value); return true;
            case "notifyForOperationDelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationDelete((java.lang.Boolean) value); return true;
            case "notifyForOperations": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperations((org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum) value); return true;
            case "notifyForOperationUndelete": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUndelete((java.lang.Boolean) value); return true;
            case "notifyForOperationUpdate": getOrCreateConfiguration((SalesforceComponent) component).setNotifyForOperationUpdate((java.lang.Boolean) value); return true;
            case "objectMapper": getOrCreateConfiguration((SalesforceComponent) component).setObjectMapper((com.fasterxml.jackson.databind.ObjectMapper) value); return true;
            case "packages": ((SalesforceComponent) component).setPackages((java.lang.String) value); return true;
            case "pkChunking": getOrCreateConfiguration((SalesforceComponent) component).setPkChunking((java.lang.Boolean) value); return true;
            case "pkChunkingChunkSize": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingChunkSize((java.lang.Integer) value); return true;
            case "pkChunkingParent": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingParent((java.lang.String) value); return true;
            case "pkChunkingStartRow": getOrCreateConfiguration((SalesforceComponent) component).setPkChunkingStartRow((java.lang.String) value); return true;
            case "queryLocator": getOrCreateConfiguration((SalesforceComponent) component).setQueryLocator((java.lang.String) value); return true;
            case "rawPayload": getOrCreateConfiguration((SalesforceComponent) component).setRawPayload((boolean) value); return true;
            case "reportId": getOrCreateConfiguration((SalesforceComponent) component).setReportId((java.lang.String) value); return true;
            case "reportMetadata": getOrCreateConfiguration((SalesforceComponent) component).setReportMetadata((org.apache.camel.component.salesforce.api.dto.analytics.reports.ReportMetadata) value); return true;
            case "resultId": getOrCreateConfiguration((SalesforceComponent) component).setResultId((java.lang.String) value); return true;
            case "sObjectBlobFieldName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectBlobFieldName((java.lang.String) value); return true;
            case "sObjectClass": getOrCreateConfiguration((SalesforceComponent) component).setSObjectClass((java.lang.String) value); return true;
            case "sObjectFields": getOrCreateConfiguration((SalesforceComponent) component).setSObjectFields((java.lang.String) value); return true;
            case "sObjectId": getOrCreateConfiguration((SalesforceComponent) component).setSObjectId((java.lang.String) value); return true;
            case "sObjectIdName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdName((java.lang.String) value); return true;
            case "sObjectIdValue": getOrCreateConfiguration((SalesforceComponent) component).setSObjectIdValue((java.lang.String) value); return true;
            case "sObjectName": getOrCreateConfiguration((SalesforceComponent) component).setSObjectName((java.lang.String) value); return true;
            case "sObjectQuery": getOrCreateConfiguration((SalesforceComponent) component).setSObjectQuery((java.lang.String) value); return true;
            case "sObjectSearch": getOrCreateConfiguration((SalesforceComponent) component).setSObjectSearch((java.lang.String) value); return true;
            case "streamQueryResult": getOrCreateConfiguration((SalesforceComponent) component).setStreamQueryResult((java.lang.Boolean) value); return true;
            case "updateTopic": getOrCreateConfiguration((SalesforceComponent) component).setUpdateTopic((boolean) value); return true;
            case "config": ((SalesforceComponent) component).setConfig((org.apache.camel.component.salesforce.SalesforceEndpointConfig) value); return true;
            case "httpClientProperties": ((SalesforceComponent) component).setHttpClientProperties((java.util.Map) value); return true;
            case "longPollingTransportProperties": ((SalesforceComponent) component).setLongPollingTransportProperties((java.util.Map) value); return true;
            case "workerPoolMaxSize": ((SalesforceComponent) component).setWorkerPoolMaxSize((int) value); return true;
            case "workerPoolSize": ((SalesforceComponent) component).setWorkerPoolSize((int) value); return true;
            case "bridgeErrorHandler": ((SalesforceComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "fallbackToLatestReplayId": getOrCreateConfiguration((SalesforceComponent) component).setFallbackToLatestReplayId((boolean) value); return true;
            case "pubSubBatchSize": getOrCreateConfiguration((SalesforceComponent) component).setPubSubBatchSize((int) value); return true;
            case "pubSubDeserializeType": getOrCreateConfiguration((SalesforceComponent) component).setPubSubDeserializeType((org.apache.camel.component.salesforce.PubSubDeserializeType) value); return true;
            case "pubSubPojoClass": getOrCreateConfiguration((SalesforceComponent) component).setPubSubPojoClass((java.lang.String) value); return true;
            case "replayPreset": getOrCreateConfiguration((SalesforceComponent) component).setReplayPreset((com.salesforce.eventbus.protobuf.ReplayPreset) value); return true;
            case "consumerWorkerPoolEnabled": ((SalesforceComponent) component).setConsumerWorkerPoolEnabled((boolean) value); return true;
            case "consumerWorkerPoolExecutorService": ((SalesforceComponent) component).setConsumerWorkerPoolExecutorService((java.util.concurrent.ExecutorService) value); return true;
            case "consumerWorkerPoolMaxSize": ((SalesforceComponent) component).setConsumerWorkerPoolMaxSize((int) value); return true;
            case "consumerWorkerPoolSize": ((SalesforceComponent) component).setConsumerWorkerPoolSize((int) value); return true;
            case "initialReplyIdTimeout": ((SalesforceComponent) component).setInitialReplyIdTimeout((int) value); return true;
            case "allOrNone": getOrCreateConfiguration((SalesforceComponent) component).setAllOrNone((boolean) value); return true;
            case "apexUrl": getOrCreateConfiguration((SalesforceComponent) component).setApexUrl((java.lang.String) value); return true;
            case "compositeMethod": getOrCreateConfiguration((SalesforceComponent) component).setCompositeMethod((java.lang.String) value); return true;
            case "eventName": getOrCreateConfiguration((SalesforceComponent) component).setEventName((java.lang.String) value); return true;
            case "eventSchemaFormat": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaFormat((org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum) value); return true;
            case "eventSchemaId": getOrCreateConfiguration((SalesforceComponent) component).setEventSchemaId((java.lang.String) value); return true;
            case "lazyStartProducer": ((SalesforceComponent) component).setLazyStartProducer((boolean) value); return true;
            case "rawHttpHeaders": getOrCreateConfiguration((SalesforceComponent) component).setRawHttpHeaders((java.lang.String) value); return true;
            case "rawMethod": getOrCreateConfiguration((SalesforceComponent) component).setRawMethod((java.lang.String) value); return true;
            case "rawPath": getOrCreateConfiguration((SalesforceComponent) component).setRawPath((java.lang.String) value); return true;
            case "rawQueryParameters": getOrCreateConfiguration((SalesforceComponent) component).setRawQueryParameters((java.lang.String) value); return true;
            case "autowiredEnabled": ((SalesforceComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "httpProxyExcludedAddresses": ((SalesforceComponent) component).setHttpProxyExcludedAddresses((java.util.Set) value); return true;
            case "httpProxyHost": ((SalesforceComponent) component).setHttpProxyHost((java.lang.String) value); return true;
            case "httpProxyIncludedAddresses": ((SalesforceComponent) component).setHttpProxyIncludedAddresses((java.util.Set) value); return true;
            case "httpProxyPort": ((SalesforceComponent) component).setHttpProxyPort((java.lang.Integer) value); return true;
            case "httpProxySocks4": ((SalesforceComponent) component).setHttpProxySocks4((boolean) value); return true;
            case "pubsubAllowUseSystemProxy": ((SalesforceComponent) component).setPubsubAllowUseSystemProxy((boolean) value); return true;
            case "authenticationType": ((SalesforceComponent) component).setAuthenticationType((org.apache.camel.component.salesforce.AuthenticationType) value); return true;
            case "clientId": ((SalesforceComponent) component).setClientId((java.lang.String) value); return true;
            case "clientSecret": ((SalesforceComponent) component).setClientSecret((java.lang.String) value); return true;
            case "httpProxyAuthUri": ((SalesforceComponent) component).setHttpProxyAuthUri((java.lang.String) value); return true;
            case "httpProxyPassword": ((SalesforceComponent) component).setHttpProxyPassword((java.lang.String) value); return true;
            case "httpProxyRealm": ((SalesforceComponent) component).setHttpProxyRealm((java.lang.String) value); return true;
            case "httpProxySecure": ((SalesforceComponent) component).setHttpProxySecure((boolean) value); return true;
            case "httpProxyUseDigestAuth": ((SalesforceComponent) component).setHttpProxyUseDigestAuth((boolean) value); return true;
            case "httpProxyUsername": ((SalesforceComponent) component).setHttpProxyUsername((java.lang.String) value); return true;
            case "instanceUrl": ((SalesforceComponent) component).setInstanceUrl((java.lang.String) value); return true;
            case "jwtAudience": ((SalesforceComponent) component).setJwtAudience((java.lang.String) value); return true;
            case "keystore": ((SalesforceComponent) component).setKeystore((org.apache.camel.support.jsse.KeyStoreParameters) value); return true;
            case "lazyLogin": ((SalesforceComponent) component).setLazyLogin((boolean) value); return true;
            case "loginConfig": ((SalesforceComponent) component).setLoginConfig((org.apache.camel.component.salesforce.SalesforceLoginConfig) value); return true;
            case "loginUrl": ((SalesforceComponent) component).setLoginUrl((java.lang.String) value); return true;
            case "password": ((SalesforceComponent) component).setPassword((java.lang.String) value); return true;
            case "pubSubHost": ((SalesforceComponent) component).setPubSubHost((java.lang.String) value); return true;
            case "pubSubPort": ((SalesforceComponent) component).setPubSubPort((int) value); return true;
            case "refreshToken": ((SalesforceComponent) component).setRefreshToken((java.lang.String) value); return true;
            case "sslContextParameters": ((SalesforceComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((SalesforceComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "userName": ((SalesforceComponent) component).setUserName((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3264 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 1313_1205
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doCreateOrUpdateReplicationController(Exchange exchange, String operationName, Function<Resource<ReplicationController>, ReplicationController> operation)
    private void doCreateOrUpdateReplicationController(
            Exchange exchange, String operationName,
            Function<Resource<ReplicationController>, ReplicationController> operation) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerSpec rcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC, ReplicationControllerSpec.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("{} a specific replication controller require specify a replication controller name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific replication controller require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(rcSpec)) {
            LOG.error("{} a specific replication controller require specify a replication controller spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationController rcCreating = new ReplicationControllerBuilder().withNewMetadata().withName(rcName)
                .withLabels(labels).endMetadata().withSpec(rcSpec).build();
        ReplicationController rc
                = operation.apply(getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                        .resource(rcCreating));

        prepareOutboundMessage(exchange, rc);
    }
Pair #3265 Negative (Non-Clone)
ID: 2249_1776
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutIfAbsent(Message message)
    public void onPutIfAbsent(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putIfAbsent(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putIfAbsent(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.putIfAbsent(key, value);
        }

        setResult(message, result);
    }
ID: 829_710
ClassID: 829
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorCompilationException.java
Name: org.apache.camel.language.joor.JoorCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
Pair #3266 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3267 Negative (Non-Clone)
ID: 899_763
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java
Name: org.apache.camel.component.google.mail.GoogleMailConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1061_911
ClassID: 1061
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.findEncryptedDataElement(Element element)
    private Element findEncryptedDataElement(Element element) {
         
        if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(element.getLocalName())
                && EncryptionConstants.EncryptionSpecNS.equals(element.getNamespaceURI())) {
            return element;
        }

         
        Node child = element.getFirstChild();
        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                Element childElement = (Element) child;
                if (EncryptionConstants._TAG_ENCRYPTEDDATA.equals(childElement.getLocalName())
                        && EncryptionConstants.EncryptionSpecNS.equals(childElement.getNamespaceURI())) {
                    return childElement;
                }
            }
            child = child.getNextSibling();
        }

        return null;
    }
Pair #3268 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 1753_1458
ClassID: 1753
File: systems/camel-java/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Name: org.apache.camel.component.stream.StreamProducer.validateUri(String uri)
    private void validateUri(String uri) throws Exception {
        String[] s = uri.split(":");
        if (s.length < 2) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        String[] t = s[1].split("\\?");

        if (t.length < 1) {
            throw new IllegalArgumentException(INVALID_URI);
        }
        this.uri = t[0].trim();
        if (this.uri.startsWith("//")) {
            this.uri = this.uri.substring(2);
        }

        if (!TYPES_LIST.contains(this.uri)) {
            throw new IllegalArgumentException(INVALID_URI);
        }
    }
Pair #3269 Negative (Non-Clone)
ID: 235_290
ClassID: 235
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.isMatched(Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName, FileIdBothDirectoryInformation[] files)
    protected boolean isMatched(
            Supplier<GenericFile<FileIdBothDirectoryInformation>> file, String doneFileName,
            FileIdBothDirectoryInformation[] files) {

        String onlyName = FileUtil.stripPath(doneFileName);
        for (FileIdBothDirectoryInformation f : files) {
            if (f.getFileName().equals(onlyName)) {
                return true;
            }
        }
        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #3270 Negative (Non-Clone)
ID: 1720_1436
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
ID: 973_818
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.remove(final String key)
    public boolean remove(final String key) {
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int updateCount = delete(key);
                if (updateCount == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();
    }
Pair #3271 Negative (Non-Clone)
ID: 2093_1684
ClassID: 2093
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset)
    private RemoteFile<FTPFile> asRemoteFile(String absolutePath, String absoluteFilePath, FTPFile file, String charset) {
        RemoteFile<FTPFile> answer = new RemoteFile<>();

        answer.setCharset(charset);
        answer.setEndpointPath(endpointPath);
        answer.setFile(file);
        answer.setFileNameOnly(file.getName());
        answer.setFileLength(file.getSize());
        answer.setDirectory(file.isDirectory());
        if (file.getTimestamp() != null) {
            answer.setLastModified(file.getTimestamp().getTimeInMillis());
        }
        answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());

         
        boolean absolute = FileUtil.hasLeadingSeparator(absolutePath);
        answer.setAbsolute(absolute);
        answer.setAbsoluteFilePath(absoluteFilePath);

         
        String relativePath = StringHelper.after(absoluteFilePath, endpointPath);
         
        relativePath = FileUtil.stripLeadingSeparator(relativePath);
        answer.setRelativeFilePath(relativePath);

         
        answer.setFileName(answer.getRelativeFilePath());

        return answer;
    }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #3272 Negative (Non-Clone)
ID: 376_409
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, Destination replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            Destination replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
ID: 2232_1755
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doLog(Exchange exchange, String operation)
    protected void doLog(Exchange exchange, String operation) throws GitAPIException {
        Iterable<RevCommit> revCommit = null;
        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            revCommit = git.log().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, revCommit);
    }
Pair #3273 Negative (Non-Clone)
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 3106_2388
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.servers(String servers)
    public StaticServiceCallServiceDiscoveryConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #3274 Negative (Non-Clone)
ID: 1511_1355
ClassID: 1511
File: systems/camel-java/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/NettyHttpConverterLoader.java
Name: org.apache.camel.component.netty.http.NettyHttpConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, byte[].class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toBytes((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, io.netty.buffer.ByteBuf.class, org.apache.camel.component.netty.http.NettyChannelBufferStreamCache.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toByteBuf((org.apache.camel.component.netty.http.NettyChannelBufferStreamCache) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toInputStream((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, io.netty.handler.codec.http.FullHttpResponse.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.netty.http.NettyHttpConverter.toString((io.netty.handler.codec.http.FullHttpResponse) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 175_150
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJobs responseJobs = null;
                try {
                    responseJobs = unmarshalResponse(response, request, QueryJobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3275 Negative (Non-Clone)
ID: 2483_2038
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
Pair #3276 Negative (Non-Clone)
ID: 658_589
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/SnapshotProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.SnapshotProducer.messageToSnapshot(Message message)
    private VolumeSnapshot messageToSnapshot(Message message) {
        VolumeSnapshot volume = message.getBody(VolumeSnapshot.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeSnapshotBuilder builder = Builders.volumeSnapshot();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_ID)) {
                builder.volume(message.getHeader(CinderConstants.VOLUME_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.FORCE)) {
                builder.force(message.getHeader(CinderConstants.FORCE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
ID: 308_376
ClassID: 308
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/AbstractHttpSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.AbstractHttpSpanDecorator.getHttpMethod(Exchange exchange, Endpoint endpoint)
    public String getHttpMethod(Exchange exchange, Endpoint endpoint) {
         
        Object method = exchange.getIn().getHeader(Exchange.HTTP_METHOD);
        if (method instanceof String) {
            return (String) method;
        } else if (method instanceof Enum) {
            return ((Enum<?>) method).name();
        } else if (method != null) {
            return exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange, method);
        }

         
        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            return GET_METHOD;
        }

         
        if (endpoint.getEndpointUri().indexOf('?') != -1) {
            return GET_METHOD;
        }

         
        if (exchange.getIn().getBody() != null) {
            return POST_METHOD;
        }

         
        return GET_METHOD;
    }
Pair #3277 Negative (Non-Clone)
ID: 2349_1845
ClassID: 2349
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.addDelay(SendMessageRequest.Builder request, Exchange exchange)
    private void addDelay(SendMessageRequest.Builder request, Exchange exchange) {
        Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class);
        Integer delayValue;
        if (headerValue == null) {
            LOG.trace("Using the config delay");
            delayValue = getEndpoint().getConfiguration().getDelaySeconds();
        } else {
            LOG.trace("Using the header delay");
            delayValue = headerValue;
        }
        LOG.trace("found delay: {}", delayValue);
        if (delayValue != null) {
            request.delaySeconds(delayValue);
        }
    }
ID: 3243_2574
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/MethodCallExpressionReifier.java
Name: org.apache.camel.reifier.language.MethodCallExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[7];
        properties[0] = asResultType();
        properties[1] = definition.getInstance();
        properties[2] = parseString(definition.getMethod());
        properties[3] = definition.getBeanType();
        properties[4] = parseString(definition.getRef());
        properties[5] = parseString(definition.getScope());
        properties[6] = parseString(definition.getValidate());
        return properties;
    }
Pair #3278 Negative (Non-Clone)
ID: 2638_2278
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
    public Object sendBodyAndHeaders(
            Endpoint endpoint, ExchangePattern pattern, final Object body, final Map<String, Object> headers)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndHeaders(body, headers));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 2211_1734
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.cancelProcessInstance(ProcessRequest processMessage)
    public ProcessResponse cancelProcessInstance(ProcessRequest processMessage) {
        ProcessResponse resultMessage = new ProcessResponse();
        resultMessage.setProcessInstanceKey(processMessage.getProcessInstanceKey());

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CancelProcessInstanceResponse cancelProcessInstanceResponse
                    = stub.cancelProcessInstance(GatewayOuterClass.CancelProcessInstanceRequest.newBuilder()
                            .setProcessInstanceKey(processMessage.getProcessInstanceKey())
                            .build());

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot cancel process instance %s", processMessage.getProcessId()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3279 Negative (Non-Clone)
ID: 3256_2610
ClassID: 3256
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultUuidGenerator.java
Name: org.apache.camel.support.DefaultUuidGenerator.longToHex(char[] seed, long v)
    private static String longToHex(char[] seed, long v) {
        final int l = seed.length;
        final char[] hexChars = new char[16 + seed.length];
        System.arraycopy(seed, 0, hexChars, 0, l);
        for (int j = 15; j >= 0; j--) {
            hexChars[l + j] = HEX_ARRAY[(int) (v & 0x0F)];
            v >>= 4;
        }
        return new String(hexChars);
    }
ID: 240_301
ClassID: 240
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("aws")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("aws");
            if (pf instanceof SecretsManagerPropertiesFunction) {
                propertiesFunction = (SecretsManagerPropertiesFunction) pf;
            }
        }
        AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
        if (aws != null && aws.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(CloudTrailReloadTriggerTask.class);
        }
    }
Pair #3280 Negative (Non-Clone)
ID: 1499_1350
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF8(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF8(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_8;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_8;
            }
        }

        return d;
    }
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #3281 Negative (Non-Clone)
ID: 1433_1295
ClassID: 1433
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMessageDispositionNotificationEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName)
    public static AS2MessageDispositionNotificationEntity parseMessageDispositionNotificationEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            List<CharArrayBuffer> dispositionNotificationFields = parseBodyPartFields(inbuffer, is, boundary,
                    BasicLineParser.INSTANCE, new ArrayList<>());

            AS2MessageDispositionNotificationEntity as2MessageDispositionNotificationEntity
                    = DispositionNotificationContentUtils.parseDispositionNotification(dispositionNotificationFields);
            return as2MessageDispositionNotificationEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse MDN entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 1313_1204
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<DeploymentConfig>, DeploymentConfig> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentConfigSpec dcSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_CONFIG_SPEC, DeploymentConfigSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment Config require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(dcSpec)) {
            LOG.error("{} a specific Deployment Config require specify a Deployment Config spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment Config require specify a Deployment Config spec bean",
                            operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        DeploymentConfig deploymentCreating = new DeploymentConfigBuilder().withNewMetadata().withName(deploymentName)
                .withLabels(labels).endMetadata().withSpec(dcSpec).build();
        DeploymentConfig deploymentConfig
                = operation.apply(getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .resource(deploymentCreating));

        prepareOutboundMessage(exchange, deploymentConfig);
    }
Pair #3282 Negative (Non-Clone)
ID: 186_182
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/SalesforceProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.SalesforceProcessor.determineHeaders(final Exchange exchange)
    default Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    Collection<?> collection = (Collection<?>) headerValue;
                    answer.put(headerName, collection.stream().map(String.class::cast).collect(Collectors.toList()));
                } else {
                    answer.put(headerName, Collections.singletonList(String.valueOf(headerValue)));
                }
            }
        }
        return answer;
    }
ID: 1406_1257
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, AlertNotification alertNotification)
    public SmppMessage createSmppMessage(CamelContext camelContext, AlertNotification alertNotification) {
        SmppMessage smppMessage = new SmppMessage(camelContext, alertNotification, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.AlertNotification.toString());
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, alertNotification.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, alertNotification.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, alertNotification.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, alertNotification.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, alertNotification.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, alertNotification.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.ESME_ADDR, alertNotification.getEsmeAddr());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_NPI, alertNotification.getEsmeAddrNpi());
        smppMessage.setHeader(SmppConstants.ESME_ADDR_TON, alertNotification.getEsmeAddrTon());

        return smppMessage;
    }
Pair #3283 Negative (Non-Clone)
ID: 3247_2588
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupClusterService()
    private void setupClusterService() throws Exception {
        Map<String, CamelClusterService> clusterServices
                = getContext().getRegistry().findByTypeWithName(CamelClusterService.class);
        if (clusterServices != null && !clusterServices.isEmpty()) {
            for (Entry<String, CamelClusterService> entry : clusterServices.entrySet()) {
                CamelClusterService service = entry.getValue();
                LOG.info("Using CamelClusterService with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 1457_1308
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprInvokeBindingHandler.java
Name: org.apache.camel.component.dapr.operations.DaprInvokeBindingHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String bindingName = configurationOptionsProxy.getBindingName(exchange);
        String bindingOperation = configurationOptionsProxy.getBindingOperation(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        InvokeBindingRequest bindingRequest = new InvokeBindingRequest(bindingName, bindingOperation);
        bindingRequest.setData(payload);
        bindingRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        final byte[] response = client.invokeBinding(bindingRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
Pair #3284 Negative (Non-Clone)
ID: 1273_1114
ClassID: 1273
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performStats(final Exchange exchange, AsyncCallback callback)
    public void performStats(final Exchange exchange, AsyncCallback callback) {
        Message message = exchange.getMessage();
        Map<String, Object> headers = message.getHeaders();
        String subscribeChannel = (String) headers.getOrDefault(CONTROL_SUBSCRIBE_CHANNEL, configuration.getSubscribeChannel());
        try {
            String stats = dynamicRouterControlService.getStatisticsForChannel(subscribeChannel);
            message.setBody(stats, String.class);
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
            callback.done(false);
        }
    }
ID: 1307_1153
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersConsumer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Replication Controllers Consumer");
        if (executor != null) {
            KubernetesHelper.close(rcWatcher, rcWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3285 Negative (Non-Clone)
ID: 1313_1205
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doCreateOrUpdateReplicationController(Exchange exchange, String operationName, Function<Resource<ReplicationController>, ReplicationController> operation)
    private void doCreateOrUpdateReplicationController(
            Exchange exchange, String operationName,
            Function<Resource<ReplicationController>, ReplicationController> operation) {
        String rcName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerSpec rcSpec = exchange.getIn()
                .getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC, ReplicationControllerSpec.class);
        if (ObjectHelper.isEmpty(rcName)) {
            LOG.error("{} a specific replication controller require specify a replication controller name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller name",
                            operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific replication controller require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(rcSpec)) {
            LOG.error("{} a specific replication controller require specify a replication controller spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific replication controller require specify a replication controller spec bean",
                            operationName));
        }
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationController rcCreating = new ReplicationControllerBuilder().withNewMetadata().withName(rcName)
                .withLabels(labels).endMetadata().withSpec(rcSpec).build();
        ReplicationController rc
                = operation.apply(getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespaceName)
                        .resource(rcCreating));

        prepareOutboundMessage(exchange, rc);
    }
ID: 340_393
ClassID: 340
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.createConsumerProperties()
    public Properties createConsumerProperties() {
        Properties props = new Properties();
        addPropertyIfNotEmpty(props, ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, getKeyDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, getValueDeserializer());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MIN_BYTES_CONFIG, getFetchMinBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_BYTES_CONFIG, getFetchMaxBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, getHeartbeatIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, getMaxPartitionFetchBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, getSessionTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, getMaxPollIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.MAX_POLL_RECORDS_CONFIG, getMaxPollRecords());
        addPropertyIfNotEmpty(props, ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, getInterceptorClasses());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, getAutoOffsetReset());
        addPropertyIfNotEmpty(props, ConsumerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, getConnectionMaxIdleMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, getAutoCommitEnable());
        addPropertyIfNotEmpty(props, ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, getPartitionAssignor());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECEIVE_BUFFER_CONFIG, getReceiveBufferBytes());
        addPropertyIfNotEmpty(props, ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, getConsumerRequestTimeoutMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, getAutoCommitIntervalMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CHECK_CRCS_CONFIG, getCheckCrcs());
        addPropertyIfNotEmpty(props, ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
        addPropertyIfNotEmpty(props, ConsumerConfig.FETCH_MAX_WAIT_MS_CONFIG, getFetchWaitMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METADATA_MAX_AGE_CONFIG, getMetadataMaxAgeMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRIC_REPORTER_CLASSES_CONFIG, getMetricReporters());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_NUM_SAMPLES_CONFIG, getNoOfMetricsSample());
        addPropertyIfNotEmpty(props, ConsumerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, getMetricsSampleWindowMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MS_CONFIG, getReconnectBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MS_CONFIG, getRetryBackoffMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RETRY_BACKOFF_MAX_MS_CONFIG, getRetryBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, getReconnectBackoffMaxMs());
        addPropertyIfNotEmpty(props, ConsumerConfig.ISOLATION_LEVEL_CONFIG, getIsolationLevel());
        addPropertyIfNotEmpty(props, "schema.registry.url", getSchemaRegistryURL());
        addPropertyIfNotFalse(props, "specific.avro.reader", isSpecificAvroReader());

         
        if (sslContextParameters != null) {
            applySslConfigurationFromContext(props, sslContextParameters);
        } else {
            applySslConsumerConfigurationFromOptions(props);
        }

         
        addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, securityProtocol);

         
        if (isSasl(securityProtocol)) {
            applySaslConfiguration(props);
        }

         
        applyAdditionalProperties(props, getAdditionalProperties());

        return props;
    }
Pair #3286 Negative (Non-Clone)
ID: 3310_2726
ClassID: 3310
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
Name: org.apache.camel.catalog.impl.CamelContextJSonSchemaResolver.getJBangJsonSchema()
    public String getJBangJsonSchema() {
        String path = "META-INF/camel-jbang-configuration-metadata.json";
        InputStream is = null;
        if (classLoader != null) {
            is = classLoader.getResourceAsStream(path);
        }
        if (is == null) {
            ClassResolver resolver = camelContext.getClassResolver();
            is = resolver.loadResourceAsStream(path);
        }
        if (is != null) {
            try {
                return IOHelper.loadText(is);
            } catch (IOException e) {
                 
            } finally {
                IOHelper.close(is);
            }
        }
        return null;
    }
ID: 1187_1014
ClassID: 1187
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.hasNext()
    public boolean hasNext() {
        try {
            if (tarInputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = tarInputStream.getCurrentEntry() != null && tarInputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    tarInputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
                if (first && parent == null) {
                    throw new IllegalStateException("Unable to untar the file, it may be corrupted.");
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #3287 Negative (Non-Clone)
ID: 979_834
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa2_0(long old0, long active0)
private int jjMoveStringLiteralDfa2_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(0, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(1, active0);
      return 2;
   }
   switch(curChar)
   {
      case 79:
         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
      case 84:
         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(1, active0);
}
ID: 2211_1736
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.throwError(JobRequest message)
    public JobResponse throwError(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.ThrowErrorRequest.Builder builder = GatewayOuterClass.ThrowErrorRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setErrorMessage(message.getErrorMessage());
            builder = builder.setErrorCode(message.getErrorCode());
            GatewayOuterClass.ThrowErrorRequest request = builder.build();
            GatewayOuterClass.ThrowErrorResponse failJobResponse = stub.throwError(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot fail Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3288 Negative (Non-Clone)
ID: 1314_1212
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doCreateOrUpdateCronJob(Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation)
    private void doCreateOrUpdateCronJob(
            Exchange exchange, String operationName, Function<Resource<CronJob>, Object> operation) {
        String cronjobName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        CronJobSpec cronjobSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_SPEC, CronJobSpec.class);
        HashMap<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_ANNOTATIONS, HashMap.class);
        if (ObjectHelper.isEmpty(cronjobName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(cronjobSpec)) {
            throw new IllegalArgumentException(
                    String.format("%s a specific cronjob require specify a cronjob spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobBuilder cronJobBuilder = new CronJobBuilder();
        if (ObjectHelper.isEmpty(annotations)) {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).endMetadata()
                    .withSpec(cronjobSpec);
        } else {
            cronJobBuilder.withNewMetadata().withName(cronjobName).withLabels(labels).withAnnotations(annotations).endMetadata()
                    .withSpec(cronjobSpec);
        }
        Object cronJob = operation.apply(
                getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespaceName)
                        .resource(cronJobBuilder.build()));

        prepareOutboundMessage(exchange, cronJob);
    }
ID: 1459_1311
ClassID: 1459
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprOperationResponse.java
Name: org.apache.camel.component.dapr.operations.DaprOperationResponse.createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus)
    public static DaprOperationResponse createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus) {
        Map<String, Object> responseHeaders = new HashMap<>();

        responseHeaders.put(DaprConstants.WORKFLOW_NAME, workflowStatus.getName());
        responseHeaders.put(DaprConstants.WORKFLOW_CREATED_AT, workflowStatus.getCreatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_UPDATED_AT, workflowStatus.getLastUpdatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_INPUT, workflowStatus.getSerializedInput());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_OUTPUT, workflowStatus.getSerializedOutput());
        responseHeaders.put(DaprConstants.WORKFLOW_FAILURE_DETAILS, workflowStatus.getFailureDetails());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_RUNNING, workflowStatus.isRunning());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_COMPLETED, workflowStatus.isCompleted());

        return create(workflowStatus, responseHeaders);
    }
Pair #3289 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3290 Negative (Non-Clone)
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 1289_1136
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final InputStream in, final String characterSet)
    public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException {
                try {
                    return staticQueryContext.compileQuery(in, characterSet);
                } finally {
                    IOHelper.close(in);
                }
            }
        };
    }
Pair #3291 Negative (Non-Clone)
ID: 1130_968
ClassID: 1130
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.purge()
        protected void purge() {
             
            if (lock != null) {
                 
                lock.lock();
                try {
                    super.purge();
                } finally {
                    lock.unlock();
                }
            }
        }
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
Pair #3292 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 1249_1084
ClassID: 1249
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java
Name: org.apache.camel.support.LoggingExceptionHandler.isCausedByRollbackExchangeException(Throwable exception)
    protected boolean isCausedByRollbackExchangeException(Throwable exception) {
        if (exception == null) {
            return false;
        }
        if (exception instanceof RollbackExchangeException) {
            return true;
        } else if (exception.getCause() != null) {
             
            return isCausedByRollbackExchangeException(exception.getCause());
        }

        return false;
    }
Pair #3293 Negative (Non-Clone)
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
Pair #3294 Negative (Non-Clone)
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
ID: 2662_2342
ClassID: 2662
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TotalRequestsThrottler.java
Name: org.apache.camel.processor.TotalRequestsThrottler.enqueue(final ThrottlePermit permit, final Exchange exchange)
        public void enqueue(final ThrottlePermit permit, final Exchange exchange) {
            permit.setDelayMs(getTimePeriodMillis());
            delayQueue.put(permit);
            try {
                ScheduledFuture<?> next = asyncExecutor.schedule(this::clean, cleanPeriodMillis, TimeUnit.MILLISECONDS);
                ScheduledFuture<?> prev = cleanFuture.getAndSet(next);
                if (prev != null) {
                    prev.cancel(false);
                }
                 
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                }
            } catch (RejectedExecutionException e) {
                LOG.debug("Throttling queue cleaning rejected", e);
            }
        }
Pair #3295 Negative (Non-Clone)
ID: 740_665
ClassID: 740
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
Name: org.apache.camel.maven.config.ConnectorConfigGenerator.generateJavaClass()
    private void generateJavaClass() {
        setPackage();
        setImports();
        setClassNameAndType();
        setClassFields();
        setSettersAndGettersMethods();
        setCreateConnectorConfigurationMethod();
        setConfigureConnectorClassMethod();
        setValidateConnectorConfiguration();
        setGetConnectorDatabaseType();
    }
ID: 833_712
ClassID: 833
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectOptions = PahoEndpoint.createMqttConnectOptions(getEndpoint().getConfiguration());

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = "camel-" + MqttClient.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoEndpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectOptions);
        }

        client.setCallback(new MqttCallbackExtended() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void connectionLost(Throwable cause) {
                LOG.debug("MQTT broker connection lost due {}", cause.getMessage(), cause);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
Pair #3296 Negative (Non-Clone)
ID: 1976_1614
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.ZooForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
ID: 1807_1477
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRemoveImageRequest(DockerClient client, Message message)
    private RemoveImageCmd executeRemoveImageRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Remove Image Request");

        String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);

        ObjectHelper.notNull(imageId, "Image ID must be specified");

        RemoveImageCmd removeImagesCmd = client.removeImageCmd(imageId);

        Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class);

        if (force != null) {
            removeImagesCmd.withForce(force);
        }

        Boolean noPrune = DockerHelper.getProperty(DockerConstants.DOCKER_NO_PRUNE, configuration, message, Boolean.class);

        if (noPrune != null) {
            removeImagesCmd.withNoPrune(noPrune);
        }

        return removeImagesCmd;

    }
Pair #3297 Negative (Non-Clone)
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
ID: 898_757
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
Name: org.apache.camel.component.google.mail.GoogleMailComponent.getClient(GoogleMailConfiguration config)
    public Gmail getClient(GoogleMailConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
Pair #3298 Negative (Non-Clone)
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3299 Negative (Non-Clone)
ID: 2232_1759
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doShowBranches(Exchange exchange, String operation)
    protected void doShowBranches(Exchange exchange, String operation) throws GitAPIException {
        List<Ref> result = null;
        try {
            result = git.branchList().setListMode(ListMode.ALL).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 1313_1209
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesProducer.doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation)
    private void doCreateOrUpdateNode(Exchange exchange, String operationName, Function<Resource<Node>, Node> operation) {
        String nodeName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class);
        NodeSpec nodeSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_SPEC, NodeSpec.class);
        if (ObjectHelper.isEmpty(nodeName)) {
            LOG.error("{} a specific node require specify a node name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific node require specify a node name", operationName));
        }
        if (ObjectHelper.isEmpty(nodeSpec)) {
            LOG.error("{} a specific node require specify a node spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific node require specify a node spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Node nodeCreating = new NodeBuilder().withNewMetadata().withName(nodeName).withLabels(labels).endMetadata()
                .withSpec(nodeSpec).build();
        Node node = operation.apply(getEndpoint().getKubernetesClient().nodes().resource(nodeCreating));

        prepareOutboundMessage(exchange, node);
    }
Pair #3300 Negative (Non-Clone)
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3301 Negative (Non-Clone)
ID: 3212_2486
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter)
    private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb, String filter, int max, AtomicInteger counter) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

        includeProcessorsText(getCamelContext(), sb, max, counter, mps);
    }
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3302 Negative (Non-Clone)
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1692_1417
ClassID: 1692
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Name: org.apache.camel.spring.spi.SpringInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #3303 Negative (Non-Clone)
ID: 2459_1960
ClassID: 2459
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.jkubeMavenPluginVersion(Path settings, Properties props)
    protected static String jkubeMavenPluginVersion(Path settings, Properties props) {
        String answer = null;
        if (props != null) {
            answer = props.getProperty(JKUBE_MAVEN_PLUGIN_VERSION);
        }
        if (answer == null) {
            try {
                List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
                answer = lines.stream()
                        .filter(l -> l.startsWith(JKUBE_MAVEN_PLUGIN_VERSION + "=") || l.startsWith("jkube.version="))
                        .map(s -> StringHelper.after(s, "=")).findFirst().orElse(null);
            } catch (Exception e) {
                 
            }
        }
        return answer != null ? answer : "1.18.1";
    }
ID: 3163_2413
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedFailoverLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedFailoverLoadBalancer.getLastGoodProcessorId()
    public String getLastGoodProcessorId() {
        int idx = getProcessor().getLastGoodIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3304 Negative (Non-Clone)
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
ID: 239_298
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (configmaps != null) {
            Collections.addAll(set, configmaps.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching configmap id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
Pair #3305 Negative (Non-Clone)
ID: 3255_2609
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.halfOpenCircuit(Route route)
    protected void halfOpenCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            state.set(STATE_HALF_OPEN);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #3306 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 411_443
ClassID: 411
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
Pair #3307 Negative (Non-Clone)
ID: 1196_1025
ClassID: 1196
File: systems/camel-java/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulKeyValueProducer.java
Name: org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer.getValues(Message message)
    protected void getValues(Message message) throws Exception {
        Object result;

        boolean asString = message.getHeader(ConsulConstants.CONSUL_VALUE_AS_STRING, getConfiguration().isValueAsString(),
                Boolean.class);
        if (asString) {
            result = getClient().getValuesAsString(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class));
        } else {
            result = getClient().getValues(
                    getMandatoryHeader(message, ConsulConstants.CONSUL_KEY, getConfiguration().getKey(), String.class),
                    message.getHeader(ConsulConstants.CONSUL_OPTIONS, QueryOptions.BLANK, QueryOptions.class));
        }

        setBodyAndResult(message, result);
    }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #3308 Negative (Non-Clone)
ID: 656_577
ClassID: 656
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/producer/ContainerProducer.java
Name: org.apache.camel.component.openstack.swift.producer.ContainerProducer.messageToCreateUpdateOptions(Message message)
    private CreateUpdateContainerOptions messageToCreateUpdateOptions(Message message) {
        CreateUpdateContainerOptions options = message.getBody(CreateUpdateContainerOptions.class);
        if (options == null) {
            Map<String, Object> headers = message.getHeaders();
            if (headers.containsKey(SwiftConstants.CONTAINER_METADATA_PREFIX)) {
                options = getCreateUpdateOptions(options)
                        .metadata(message.getHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, Map.class));
            }

            if (headers.containsKey(SwiftConstants.VERSIONS_LOCATION)) {
                options = getCreateUpdateOptions(options)
                        .versionsLocation(message.getHeader(SwiftConstants.VERSIONS_LOCATION, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_READ)) {
                options = getCreateUpdateOptions(options)
                        .accessRead(message.getHeader(SwiftConstants.CONTAINER_READ, String.class));
            }

            if (headers.containsKey(SwiftConstants.CONTAINER_WRITE)) {
                options = getCreateUpdateOptions(options)
                        .accessWrite(message.getHeader(SwiftConstants.CONTAINER_WRITE, String.class));
            }
        }
        return options;
    }
ID: 266_345
ClassID: 266
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/client/BlobClientWrapper.java
Name: org.apache.camel.component.azure.storage.blob.client.BlobClientWrapper.uploadBlockBlobWithParallelOptions(final InputStream data, final long length, final ParallelTransferOptions parallelTransferOptions, final BlobHttpHeaders headers, final Map<String, String> metadata, final AccessTier tier, final BlobRequestConditions requestConditions, final Duration timeout)
    public Response<BlockBlobItem> uploadBlockBlobWithParallelOptions(
            final InputStream data,
            final long length,
            final ParallelTransferOptions parallelTransferOptions,
            final BlobHttpHeaders headers,
            final Map<String, String> metadata,
            final AccessTier tier,
            final BlobRequestConditions requestConditions,
            final Duration timeout) {

        BlobParallelUploadOptions options = new BlobParallelUploadOptions(data, length);

        if (parallelTransferOptions != null) {
            options.setParallelTransferOptions(parallelTransferOptions);
        }
        if (headers != null) {
            options.setHeaders(headers);
        }
        if (metadata != null) {
            options.setMetadata(metadata);
        }
        if (tier != null) {
            options.setTier(tier);
        }
        if (requestConditions != null) {
            options.setRequestConditions(requestConditions);
        }

        return client.uploadWithResponse(options, timeout, Context.NONE);
    }
Pair #3309 Negative (Non-Clone)
ID: 2576_2165
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GeneratePojoBeanMojo.java
Name: org.apache.camel.maven.packaging.GeneratePojoBeanMojo.asJsonObject(BeanPojoModel model)
    private JsonObject asJsonObject(BeanPojoModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "bean");
        jo.put("name", model.getName());
        jo.put("javaType", model.getClassName());
        if (model.getInterfaceName() != null) {
            jo.put("interfaceType", model.getInterfaceName());
        }
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());

        if (!model.getOptions().isEmpty()) {
            JsonObject options = JsonMapper.asJsonObject(model.getOptions());
            jo.put("properties", options);
        }

        JsonObject root = new JsonObject();
        root.put("bean", jo);
        return root;
    }
ID: 1854_1509
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPrivateKeyToPEM(PrivateKey privateKey)
    private static byte[] exportPrivateKeyToPEM(PrivateKey privateKey) throws Exception {
        byte[] encoded = privateKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PRIVATE KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PRIVATE KEY-----\n");
        return pem.toString().getBytes();
    }
Pair #3310 Negative (Non-Clone)
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
ID: 557_536
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(ResultSet rs)
    private void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                if (!rs.isClosed()) {
                    rs.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing result set", sqle);
            }
        }
    }
Pair #3311 Negative (Non-Clone)
ID: 1857_1516
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed in Vault: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 3230_2533
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionSingleExpression()
    public static Expression fileNameNoExtensionSingleExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name, true);
            }

            @Override
            public String toString() {
                return "file:name.noext.single";
            }
        };
    }
Pair #3312 Negative (Non-Clone)
ID: 3163_2415
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRandomLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRandomLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
ID: 1171_1003
ClassID: 1171
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/RestComponentHelper.java
Name: org.apache.camel.support.RestComponentHelper.resolveRestHostName(String host, RestConfiguration config)
    public static String resolveRestHostName(String host, RestConfiguration config) throws UnknownHostException {
        if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
            host = "0.0.0.0";
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
            host = HostUtils.getLocalHostName();
        } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
            host = HostUtils.getLocalIp();
        }
        return host;
    }
Pair #3313 Negative (Non-Clone)
ID: 904_781
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.GoogleMailApiCollection()
    private GoogleMailApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleMailApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleMailApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.THREADS, new ApiMethodHelper<>(GmailUsersThreadsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersThreadsApiMethod.class, GoogleMailApiName.THREADS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.MESSAGES, new ApiMethodHelper<>(GmailUsersMessagesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesApiMethod.class, GoogleMailApiName.MESSAGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.ATTACHMENTS, new ApiMethodHelper<>(GmailUsersMessagesAttachmentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersMessagesAttachmentsApiMethod.class, GoogleMailApiName.ATTACHMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.LABELS, new ApiMethodHelper<>(GmailUsersLabelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersLabelsApiMethod.class, GoogleMailApiName.LABELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.HISTORY, new ApiMethodHelper<>(GmailUsersHistoryApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersHistoryApiMethod.class, GoogleMailApiName.HISTORY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.DRAFTS, new ApiMethodHelper<>(GmailUsersDraftsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersDraftsApiMethod.class, GoogleMailApiName.DRAFTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleMailApiName.USERS, new ApiMethodHelper<>(GmailUsersApiMethod.class, aliases, nullableArgs));
        apiMethods.put(GmailUsersApiMethod.class, GoogleMailApiName.USERS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 765_681
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.determineOperation(Exchange exchange)
    private WatsonTextToSpeechOperations determineOperation(Exchange exchange) {
        WatsonTextToSpeechOperations operation
                = exchange.getIn().getHeader(WatsonTextToSpeechConstants.OPERATION, WatsonTextToSpeechOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
Pair #3314 Negative (Non-Clone)
ID: 230_275
ClassID: 230
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesProcessStrategyFactory.java
Name: org.apache.camel.component.file.azure.strategy.FilesProcessStrategyFactory.createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params)
    public GenericFileProcessStrategy<ShareFileItem> createGenericFileProcessStrategy(
            CamelContext context, Map<String, Object> params) {

         
         
        Expression moveExpression = (Expression) params.get("move");
        Expression moveFailedExpression = (Expression) params.get("moveFailed");
        Expression preMoveExpression = (Expression) params.get("preMove");
        boolean isNoop = params.get("noop") != null;
        boolean isDelete = params.get("delete") != null;
        boolean isMove = moveExpression != null || preMoveExpression != null || moveFailedExpression != null;

        if (isDelete) {
            GenericFileDeleteProcessStrategy<ShareFileItem> strategy = new GenericFileDeleteProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
            return strategy;
        } else if (isMove || isNoop) {
            GenericFileRenameProcessStrategy<ShareFileItem> strategy = new GenericFileRenameProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            if (!isNoop && moveExpression != null) {
                 
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveExpression);
                strategy.setCommitRenamer(renamer);
            }
             
            if (moveFailedExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(moveFailedExpression);
                strategy.setFailureRenamer(renamer);
            }
             
            if (preMoveExpression != null) {
                GenericFileExpressionRenamer<ShareFileItem> renamer = new GenericFileExpressionRenamer<>();
                renamer.setExpression(preMoveExpression);
                strategy.setBeginRenamer(renamer);
            }
            return strategy;
        } else {
             
            GenericFileNoOpProcessStrategy<ShareFileItem> strategy = new GenericFileNoOpProcessStrategy<>();
            strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
            return strategy;
        }
    }
ID: 2472_2007
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("rests");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("rests");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.url = jo.getString("url");
                                    row.method = jo.getString("method").toUpperCase(Locale.ROOT);
                                    row.consumes = jo.getString("consumes");
                                    row.produces = jo.getString("produces");
                                    row.description = jo.getString("description");
                                    row.contractFirst = jo.getBooleanOrDefault("contractFirst", false);
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("URL").dataAlign(HorizontalAlign.LEFT).with(r -> r.url),
                    new Column().header("METHOD").dataAlign(HorizontalAlign.LEFT).with(r -> r.method),
                    new Column().header("FIRST").visible(verbose).dataAlign(HorizontalAlign.LEFT).with(this::getKind),
                    new Column().header("DESCRIPTION").visible(verbose).maxWidth(40, OverflowBehaviour.NEWLINE)
                            .dataAlign(HorizontalAlign.LEFT).with(r -> r.description),
                    new Column().header("CONTENT-TYPE").dataAlign(HorizontalAlign.LEFT).with(this::getContent))));
        }

        return 0;
    }
Pair #3315 Negative (Non-Clone)
ID: 1275_1121
ClassID: 1275
File: systems/camel-java/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
Name: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 556_533
ClassID: 556
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypeClass(BindingMessageInfo bmi)
    protected void resetPartTypeClass(BindingMessageInfo bmi) {
        if (bmi != null) {
            int size = bmi.getMessageParts().size();
            for (int x = 0; x < size; x++) {
                 
                if (x < (size - 1)) {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? DOMSource.class : null);
                } else {
                    bmi.getMessageParts().get(x).setTypeClass(allowStreaming ? Source.class : null);
                }
            }
        }
    }
Pair #3316 Negative (Non-Clone)
ID: 978_828
ClassID: 978
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcCamelCodec.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcCamelCodec.unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
    public Exchange unmarshallExchange(CamelContext camelContext, InputStream inputStream, String deserializationFilter)
            throws IOException, ClassNotFoundException {
        DefaultExchangeHolder pe = decode(camelContext, inputStream, deserializationFilter);
        Exchange answer = new DefaultExchange(camelContext);
        DefaultExchangeHolder.unmarshal(answer, pe);
         
        String fromEndpointUri = (String) answer.removeProperty("CamelAggregatedFromEndpoint");
        if (fromEndpointUri != null) {
            Endpoint fromEndpoint = camelContext.hasEndpoint(fromEndpointUri);
            if (fromEndpoint != null) {
                answer.getExchangeExtension().setFromEndpoint(fromEndpoint);
            }
        }
        return answer;
    }
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
Pair #3317 Negative (Non-Clone)
ID: 3165_2425
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEndpointRegistry.java
Name: org.apache.camel.management.mbean.ManagedEndpointRegistry.listEndpoints()
    public TabularData listEndpoints() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listEndpointsTabularType());
            Collection<Endpoint> endpoints = endpointRegistry.values();
            for (Endpoint endpoint : endpoints) {
                CompositeType ct = CamelOpenMBeanTypes.listEndpointsCompositeType();
                String url = endpoint.getEndpointUri();
                if (sanitize) {
                    url = URISupport.sanitizeUri(url);
                }

                boolean fromStatic = endpointRegistry.isStatic(url);
                boolean fromDynamic = endpointRegistry.isDynamic(url);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "url", "static", "dynamic" }, new Object[] { url, fromStatic, fromDynamic });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 3212_2488
ClassID: 3212
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/ProcessorDevConsole.java
Name: org.apache.camel.impl.console.ProcessorDevConsole.includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max)
    private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr, String filter, int max) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return;
        }

         
        List<ManagedProcessorMBean> mps = new ArrayList<>();
        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null && accept(mp, filter)) {
                mps.add(mp);
            }
        }

         
        mps.sort(Comparator.comparingInt(ManagedProcessorMBean::getIndex));

         
        includeProcessorsJSon(getCamelContext(), arr, max, mps);
    }
Pair #3318 Negative (Non-Clone)
ID: 126_116
ClassID: 126
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
ID: 2593_2196
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloaded(RepositoryEvent event)
                public void artifactDownloaded(RepositoryEvent event) {
                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        long elapsed = watch.takenAndRestart();
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloaded(a.getGroupId(), a.getArtifactId(), version,
                                id, url, elapsed);
                    }
                }
Pair #3319 Negative (Non-Clone)
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 2177_1711
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/BasicAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.BasicAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpManagementServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpManagementServerConfigurationProperties properties) {
        String authPropertiesFileName = properties.getBasicPropertiesFile();
        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : DEFAULT_REALM;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationConfig.AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                return BasicAuthHandler.create(authenticationProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(
                vertx -> PropertyFileAuthentication.create(vertx, authPropertiesFileName));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
Pair #3320 Negative (Non-Clone)
ID: 1859_1522
ClassID: 1859
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.needsRotation(String keyId, Duration maxAge, long maxUsage)
    public boolean needsRotation(String keyId, Duration maxAge, long maxUsage) throws Exception {
        KeyMetadata metadata = getKeyMetadata(keyId);
        if (metadata == null) {
            return false;
        }

        if (metadata.needsRotation()) {
            return true;
        }

        if (maxAge != null && metadata.getAgeInDays() > maxAge.toDays()) {
            return true;
        }

        if (maxUsage > 0 && metadata.getUsageCount() >= maxUsage) {
            return true;
        }

        return false;
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #3321 Negative (Non-Clone)
ID: 1123_956
ClassID: 1123
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSProducer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSProducer.listObjects(Exchange exchange, ClientConfigurations clientConfigurations)
    private void listObjects(Exchange exchange, ClientConfigurations clientConfigurations) throws ObsException {
        ListObjectsRequest request = null;

         
        Object exchangeBody = exchange.getMessage().getBody();
        if (exchangeBody instanceof ListObjectsRequest) {
            request = (ListObjectsRequest) exchangeBody;
        } else if (exchangeBody instanceof String) {
            String strBody = (String) exchangeBody;
            try {
                request = new ObjectMapper().readValue(strBody, ListObjectsRequest.class);
            } catch (JsonProcessingException e) {
                LOG.warn(
                        "String request body must be a valid JSON representation of a ListObjectsRequest. Attempting to list objects from endpoint parameters");
            }
        }

         
        if (request == null) {
             
            if (ObjectHelper.isEmpty(clientConfigurations.getBucketName())) {
                LOG.error("No bucket name given");
                throw new IllegalArgumentException("Bucket name is mandatory to list objects");
            }
            request = new ListObjectsRequest(clientConfigurations.getBucketName());
        }

         
        ObjectListing result;
        List<ObsObject> objects = new ArrayList<>();
        do {
            result = obsClient.listObjects(request);
            objects.addAll(result.getObjects());
            request.setMarker(result.getNextMarker());
        } while (result.isTruncated());

        exchange.getMessage().setBody(gson.toJson(objects));
    }
ID: 757_679
ClassID: 757
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketResultHandler.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketResultHandler.onResult(String connectionKey)
    void onResult(String connectionKey) {
        lock.lock();
        try {
            connectionKeys.remove(connectionKey);
            if (connectionKeys.isEmpty()) {
                onComplete();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3322 Negative (Non-Clone)
ID: 3298_2710
ClassID: 3298
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/catalog/ConfigurationPropertiesValidationResult.java
Name: org.apache.camel.catalog.ConfigurationPropertiesValidationResult.summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings)
    public String summaryErrorMessage(boolean includeHeader, boolean ignoreDeprecated, boolean includeWarnings) {
        boolean ok = isSuccess();

         
        if (ok && !ignoreDeprecated) {
            ok = deprecated == null;
        }

        if (includeWarnings) {
            if (unknownComponent != null) {
                return "\tUnknown component: " + unknownComponent;
            }
        }

        if (ok) {
            return null;
        }

         
        Map<String, String> options = new LinkedHashMap<>();
        if (unknown != null) {
            for (String name : unknown) {
                if (unknownSuggestions != null && unknownSuggestions.containsKey(name)) {
                    String[] suggestions = unknownSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        String str = Arrays.asList(suggestions).toString();
                        options.put(name, "Unknown option. Did you mean: " + str);
                    } else {
                        options.put(name, "Unknown option");
                    }
                } else {
                    options.put(name, "Unknown option");
                }
            }
        }
        if (required != null) {
            for (String name : required) {
                options.put(name, "Missing required option");
            }
        }
        if (deprecated != null) {
            for (String name : deprecated) {
                options.put(name, "Deprecated option");
            }
        }
        if (invalidEnum != null) {
            for (Map.Entry<String, String> entry : invalidEnum.entrySet()) {
                String name = entry.getKey();
                String[] choices = invalidEnumChoices.get(name);
                String defaultValue = defaultValues != null ? defaultValues.get(entry.getKey()) : null;
                String str = Arrays.asList(choices).toString();
                String msg = "Invalid enum value: " + entry.getValue() + ". Possible values: " + str;
                if (invalidEnumSuggestions != null) {
                    String[] suggestions = invalidEnumSuggestions.get(name);
                    if (suggestions != null && suggestions.length > 0) {
                        str = Arrays.asList(suggestions).toString();
                        msg += ". Did you mean: " + str;
                    }
                }
                if (defaultValue != null) {
                    msg += ". Default value: " + defaultValue;
                }

                options.put(entry.getKey(), msg);
            }
        }
        if (invalidReference != null) {
            for (Map.Entry<String, String> entry : invalidReference.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty reference value");
                } else if (!entry.getValue().startsWith("#")) {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue() + " must start with #");
                } else {
                    options.put(entry.getKey(), "Invalid reference value: " + entry.getValue());
                }
            }
        }
        if (invalidBoolean != null) {
            for (Map.Entry<String, String> entry : invalidBoolean.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty boolean value");
                } else {
                    options.put(entry.getKey(), "Invalid boolean value: " + entry.getValue());
                }
            }
        }
        if (invalidInteger != null) {
            for (Map.Entry<String, String> entry : invalidInteger.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty integer value");
                } else {
                    options.put(entry.getKey(), "Invalid integer value: " + entry.getValue());
                }
            }
        }
        if (invalidNumber != null) {
            for (Map.Entry<String, String> entry : invalidNumber.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty number value");
                } else {
                    options.put(entry.getKey(), "Invalid number value: " + entry.getValue());
                }
            }
        }
        if (invalidMap != null) {
            for (Map.Entry<String, String> entry : invalidMap.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty map key/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid map key/value: " + entry.getValue());
                }
            }
        }
        if (invalidArray != null) {
            for (Map.Entry<String, String> entry : invalidArray.entrySet()) {
                boolean empty = isEmpty(entry.getValue());
                if (empty) {
                    options.put(entry.getKey(), "Empty array index/value pair");
                } else {
                    options.put(entry.getKey(), "Invalid array index/value: " + entry.getValue());
                }
            }
        }

         
         
        int maxLen = 24;
        for (String key : options.keySet()) {
            maxLen = Math.max(maxLen, key.length());
        }
        String format = "%" + maxLen + "s    %s";

         
        StringBuilder sb = new StringBuilder();
        if (includeHeader) {
            sb.append("Configuration properties error\n");
            sb.append(
                    "---------------------------------------------------------------------------------------------------------------------------------------\n");
            sb.append("\n");
        }
        if (text != null) {
            sb.append("\t").append(text).append("\n");
        } else {
            sb.append("\n");
        }
        for (Map.Entry<String, String> option : options.entrySet()) {
            String out = String.format(format, shortKey(option.getKey()), option.getValue());
            sb.append("\n\t").append(out);
        }

        return sb.toString();
    }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #3323 Negative (Non-Clone)
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
Pair #3324 Negative (Non-Clone)
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
ID: 1307_1147
ClassID: 1307
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueConsumer.java
Name: org.apache.camel.component.hazelcast.queue.HazelcastQueueConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3325 Negative (Non-Clone)
ID: 1425_1274
ClassID: 1425
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/util/DispositionNotificationContentUtils.java
Name: org.apache.camel.component.as2.api.util.DispositionNotificationContentUtils.toString()
        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append(name).append(": ");
            for (int i = 0; i < elements.length; i++) {
                Element element = elements[i];
                if (i > 0) {
                    sb.append("; ").append(element);
                } else {
                    sb.append(element);
                }
            }
            return sb.toString();
        }
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
Pair #3326 Negative (Non-Clone)
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
ID: 2644_2294
ClassID: 2644
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFactoryFinder.java
Name: org.apache.camel.impl.engine.DefaultFactoryFinder.findClass(String key)
    public Optional<Class<?>> findClass(String key) {
        Class<?> clazz = addToClassMap(key, () -> {
            Properties prop = doFindFactoryProperties(key);
            if (prop != null) {
                return doNewInstance(prop, true).orElse(null);
            } else {
                return null;
            }
        });
        return Optional.ofNullable(clazz);
    }
Pair #3327 Negative (Non-Clone)
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 2470_1995
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListKafka.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListKafka.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #3328 Negative (Non-Clone)
ID: 3234_2552
ClassID: 3234
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
Name: org.apache.camel.language.csimple.CSimpleLanguage.createPredicate(String expression)
    public Predicate createPredicate(String expression) {
        if (expression == null) {
            throw new IllegalArgumentException("expression must be specified");
        }
         
        String text = expression.replace("\n", "");
        text = text.trim();

        return compiledPredicates.computeIfAbsent(text, key -> {
            if (compilationSupport != null) {
                CSimpleExpression exp = compilationSupport.compilePredicate(getCamelContext(), expression);
                if (exp != null) {
                    exp.init(getCamelContext());
                    return exp;
                }
            }
            throw new CSimpleException("Cannot find compiled csimple language for predicate: " + expression, expression);
        });
    }
ID: 1230_1055
ClassID: 1230
File: systems/camel-java/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
Name: org.apache.camel.component.disruptor.DisruptorEndpoint.onStopped(final DisruptorConsumer consumer)
    void onStopped(final DisruptorConsumer consumer) throws Exception {
        lock.lock();
        try {
            if (consumers.remove(consumer)) {
                LOGGER.debug("Stopping consumer {} on endpoint {}", consumer, getEndpointUri());
                getDisruptor().reconfigure();
            } else {
                LOGGER.debug("Tried to stop Consumer {} on endpoint {} but it was already stopped", consumer, getEndpointUri());
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3329 Negative (Non-Clone)
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
ID: 756_676
ClassID: 756
File: systems/camel-java/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheProducer.java
Name: org.apache.camel.component.ignite.cache.IgniteCacheProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        Message in = exchange.getIn();
        Message out = exchange.getOut();
        MessageHelper.copyHeaders(exchange.getIn(), out, true);

        switch (cacheOperationFor(exchange)) {

            case GET:
                doGet(in, out);
                break;

            case PUT:
                doPut(in, out);
                break;

            case QUERY:
                doQuery(in, out, exchange);
                break;

            case REMOVE:
                doRemove(in, out);
                break;

            case CLEAR:
                doClear(in, out);
                break;

            case SIZE:
                doSize(in, out);
                break;

            case REBALANCE:
                doRebalance(in, out);
                break;

            case REPLACE:
                doReplace(in, out);
                break;

            default:
                break;
        }

        callback.done(false);
        return false;
    }
Pair #3330 Negative (Non-Clone)
ID: 3309_2722
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.cache(String name, Supplier<T> loader)
    protected <T> T cache(String name, Supplier<T> loader) {
        if (caching) {
            T t = (T) cache.get(name);
            if (t == null) {
                t = loader.get();
                if (t != null) {
                    cache.put(name, t);
                }
            }
            return t;
        } else {
            return loader.get();
        }
    }
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
Pair #3331 Negative (Non-Clone)
ID: 1202_1027
ClassID: 1202
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConsumer.java
Name: org.apache.camel.component.pubnub.PubNubConsumer.presence(PubNub pubnub, PNPresenceEventResult presence)
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {
            Exchange exchange = createExchange(true);
            Message inmessage = exchange.getIn();
            inmessage.setBody(presence);
            inmessage.setHeader(TIMETOKEN, presence.getTimetoken());
            inmessage.setHeader(CHANNEL, presence.getChannel());
            inmessage.setHeader(Exchange.MESSAGE_TIMESTAMP, presence.getTimetoken());
            try {
                getProcessor().process(exchange);
            } catch (Exception e) {
                getExceptionHandler().handleException("Error processing exchange", e);
            }
        }
ID: 18_25
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulPreparedQueryProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer target = (org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "execute":
        case "EXECUTE": target.execute(exchange.getMessage()); return null;
        case "get":
        case "GET": target.get(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3332 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
Pair #3333 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 3251_2600
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean.getObject()
    public KeyManagersParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }

            return instance;
        } else {
            return createInstance();
        }
    }
Pair #3334 Negative (Non-Clone)
ID: 1885_1553
ClassID: 1885
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.setupVmProtocol(MinaConfiguration configuration)
    protected void setupVmProtocol(MinaConfiguration configuration) {

        boolean minaLogger = configuration.isMinaLogger();
        List<IoFilter> filters = configuration.getFilters();

        address = new VmPipeAddress(configuration.getPort());
        acceptor = new VmPipeAcceptor();

         
        configureCodecFactory("MinaConsumer", acceptor, configuration);
        if (minaLogger) {
            acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, acceptor.getFilterChain());
        if (configuration.getSslContextParameters() != null) {
            LOG.warn("Using vm protocol"
                     + ", but an SSLContextParameters instance was provided.  SSLContextParameters is only supported on the TCP protocol.");
        }
    }
ID: 53_68
ClassID: 53
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = replicatedCache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!replicatedCache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #3335 Negative (Non-Clone)
ID: 1309_1173
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.eventReceived(Action action, Pod resource)
                public void eventReceived(Action action, Pod resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 1378_1244
ClassID: 1378
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
Name: org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.cloneBuilder(DefaultErrorHandlerDefinition other)
    protected void cloneBuilder(DefaultErrorHandlerDefinition other) {
        other.setExecutorServiceBean(getExecutorServiceBean());
        other.setExecutorServiceRef(getExecutorServiceRef());
        other.setLevel(getLevel());
        other.setLogName(getLogName());
        other.setLoggerBean(getLoggerBean());
        other.setLoggerRef(getLoggerRef());
        other.setOnExceptionOccurredProcessor(getOnExceptionOccurredProcessor());
        other.setOnExceptionOccurredRef(getOnExceptionOccurredRef());
        other.setOnPrepareFailureProcessor(getOnPrepareFailureProcessor());
        other.setOnPrepareFailureRef(getOnPrepareFailureRef());
        other.setOnRedeliveryProcessor(getOnRedeliveryProcessor());
        other.setOnRedeliveryRef(getOnRedeliveryRef());
        other.setRedeliveryPolicyRef(getRedeliveryPolicyRef());
        other.setRetryWhilePredicate(getRetryWhilePredicate());
        other.setRetryWhileRef(getRetryWhileRef());
        other.setUseOriginalBody(getUseOriginalBody());
        other.setUseOriginalMessage(getUseOriginalMessage());
        if (hasRedeliveryPolicy()) {
            other.setRedeliveryPolicy(getRedeliveryPolicy().copy());
        }
    }
Pair #3336 Negative (Non-Clone)
ID: 1957_1596
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.update(Exchange exchange)
    private void update(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Index index = this.client.getIndexConnection(indexName);

        UpdateResponse result = index.update(indexId, elements, namespace);

        populateUpdateResponse(result, exchange);

    }
ID: 2469_1991
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);

        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "route");
            root.put("id", id);
            Path f = getActionFile(Long.toString(pid));
            onAction(root);
            PathUtils.writeTextSafely(root.toJson(), f);
        }

        return 0;
    }
Pair #3337 Negative (Non-Clone)
ID: 2670_2358
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfGroup(String key)
    public int forceCompletionOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force completion triggered for correlation key: {}", key);
                 
                exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                Exchange answer = onCompletion(key, exchange, exchange, false, false);
                if (answer != null) {
                    onSubmitCompletion(key, answer);
                }
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force completion of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 2094_1687
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivityVerbose()
    public String getLastFtpActivityVerbose() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastVerboseLogActivity();
            if (log != null) {
                long since = listener.getLastVerboseLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
Pair #3338 Negative (Non-Clone)
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 3102_2379
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return uri != null ? uri : "no uri supplied";
    }
Pair #3339 Negative (Non-Clone)
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
Pair #3340 Negative (Non-Clone)
ID: 3282_2674
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createPredicate(String expression, Object[] properties)
    public Predicate createPredicate(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        return createPredicate(input, expression, properties);
    }
ID: 2533_2110
ClassID: 2533
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/TransactedDownloader.java
Name: org.apache.camel.main.download.TransactedDownloader.registerDownloadReifiers(KameletMain main)
    public static void registerDownloadReifiers(KameletMain main) {
        ProcessorReifier.registerReifier(TransactedDefinition.class,
                (route, processorDefinition) -> {
                    if (processorDefinition instanceof TransactedDefinition) {
                        DependencyDownloader downloader = route.getCamelContext().hasService(DependencyDownloader.class);
                        if (downloader != null) {
                            downloader.downloadDependency("org.apache.camel", "camel-jta",
                                    route.getCamelContext().getVersion());
                            TransactedPolicy policy = new DummyTransactedPolicy();
                            Arrays.stream(TRANSACTED_POLICIES).forEach(p -> main.bind(p, policy));
                        }
                    }
                    return ProcessReifier.coreReifier(route, processorDefinition);
                });
    }
Pair #3341 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 3178_2454
ClassID: 3178
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderReader.java
Name: org.apache.camel.converter.jaxp.XMLStreamReaderReader.read(char[] cbuf, int off, int len)
    public int read(char[] cbuf, int off, int len) throws IOException {
        int tlen = 0;
        while (len > 0) {
            int n = ensureBuffering(len);
            if (n < 0) {
                break;
            }
            int clen = Math.min(len, n);
            System.arraycopy(buffer, 0, cbuf, off, clen);
            System.arraycopy(buffer, clen, buffer, 0, buffer.length - clen);
            bpos -= clen;
            len -= clen;
            off += clen;
            tlen += clen;
        }
        return tlen > 0 ? tlen : -1;
    }
Pair #3342 Negative (Non-Clone)
ID: 2472_2011
ClassID: 2472
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListInflight.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListInflight.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        Row row = new Row();
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        row.pid = Long.toString(ph.pid());
                        row.uptime = extractSince(ph);
                        row.age = TimeUtils.printSince(row.uptime);

                        JsonObject jo = (JsonObject) root.get("inflight");
                        if (jo != null) {
                            JsonArray arr = (JsonArray) jo.get("exchanges");
                            if (arr != null) {
                                for (int i = 0; i < arr.size(); i++) {
                                    row = row.copy();
                                    jo = (JsonObject) arr.get(i);
                                    row.exchangeId = jo.getString("exchangeId");
                                    row.fromRouteId = jo.getString("fromRouteId");
                                    Boolean bool = jo.getBoolean("fromRemoteEndpoint");
                                    if (bool != null) {
                                         
                                        remoteVisible.set(true);
                                        row.fromRemoteEndpoint = bool;
                                    }
                                    row.atRouteId = jo.getString("atRouteId");
                                    row.nodeId = jo.getString("nodeId");
                                    row.elapsed = jo.getLong("elapsed");
                                    row.duration = jo.getLong("duration");
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printer().println(AsciiTable.getTable(AsciiTable.NO_BORDERS, rows, Arrays.asList(
                    new Column().header("PID").headerAlign(HorizontalAlign.CENTER).with(r -> r.pid),
                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.name),
                    new Column().header("EXCHANGE-ID").dataAlign(HorizontalAlign.LEFT).with(r -> r.exchangeId),
                    new Column().header("REMOTE").visible(remoteVisible.get()).dataAlign(HorizontalAlign.CENTER)
                            .with(this::getRemote),
                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.atRouteId),
                    new Column().header("ID").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
                            .with(r -> r.nodeId),
                    new Column().header("ELAPSED").dataAlign(HorizontalAlign.RIGHT).with(this::getElapsed),
                    new Column().header("DURATION").dataAlign(HorizontalAlign.RIGHT).with(this::getDuration))));
        }

        return 0;
    }
ID: 2455_1951
ClassID: 2455
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.createBuildGradle(Path settings, Path gradleBuild, Set<String> deps)
    private void createBuildGradle(Path settings, Path gradleBuild, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        InputStream is = ExportSpringBoot.class.getClassLoader().getResourceAsStream("templates/quarkus-build-gradle.tmpl");
        String context = IOHelper.loadText(is);
        IOHelper.close(is);

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings.toFile());
         
        String repos = getMavenRepositories(settings, prop, quarkusVersion);

        CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download);
        if (camelVersion == null) {
            camelVersion = catalog.getCatalogVersion();
        }

        context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceFirst("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceFirst("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceFirst("\\{\\{ \\.QuarkusGroupId }}", quarkusGroupId);
        context = context.replaceFirst("\\{\\{ \\.QuarkusArtifactId }}", quarkusArtifactId);
        context = context.replaceAll("\\{\\{ \\.QuarkusVersion }}", quarkusVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            StringBuilder sb = new StringBuilder();
            for (String repo : repos.split(",")) {
                sb.append("    maven {\n");
                sb.append("        url '").append(repo).append("'\n");
                if (repo.contains("snapshots")) {
                    sb.append("        mavenContent {\n");
                    sb.append("            snapshotsOnly()\n");
                    sb.append("        }\n");
                }
                sb.append("    }\n");
            }
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", sb.toString());
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();
             
            if ("org.apache.camel".equals(gid)) {
                String qaid = aid.replace("camel-", "camel-quarkus-");
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.quarkus", qaid, null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
            gavs.add(gav);
        }

         
        replaceQuarkusDependencies(gavs);

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("    implementation files('lib/").append(gav.getArtifactId())
                        .append("-").append(gav.getVersion()).append(".jar')\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("    implementation ('").append(gav).append("') {\n");
                sb.append("        exclude group: 'org.apache.camel', module: '*'\n");
                sb.append("    }\n");
            } else {
                sb.append("    implementation '").append(gav).append("'\n");
            }
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        Files.writeString(gradleBuild, context);
    }
Pair #3343 Negative (Non-Clone)
ID: 1910_1573
ClassID: 1910
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.computeIfAbsent(Exchange exchange)
    private ProtobufSchema computeIfAbsent(Exchange exchange) {
        if (this.schema != null) {
            return this.schema;
        }

        ProtobufSchema answer = exchange.getProperty(SchemaHelper.CONTENT_SCHEMA, ProtobufSchema.class);

        if (answer == null && exchange.getProperties().containsKey(SchemaHelper.SCHEMA)) {
            String schemaJson = exchange.getProperty(SchemaHelper.SCHEMA, String.class);
            try {
                answer = ProtobufSchemaLoader.std.parse(schemaJson);
            } catch (IOException e) {
                throw new RuntimeException("Unable to parse Protobuf schema", e);
            }
        }

        if (answer == null) {
            String contentClass = SchemaHelper.resolveContentClass(exchange, this.contentClass);
            if (contentClass != null) {
                answer = this.schemes.computeIfAbsent(contentClass, t -> {
                    Resource res = PluginHelper.getResourceLoader(exchange.getContext())
                            .resolveResource("classpath:schemas/" + SchemaType.PROTOBUF.name().toLowerCase(Locale.US) +
                                             "/" + t + "." + SchemaType.PROTOBUF.type());

                    try {
                        if (res.exists()) {
                            try (InputStream is = res.getInputStream()) {
                                if (is != null) {
                                    return Protobuf.mapper().schemaLoader().load(is);
                                }
                            }
                        }
                    } catch (Exception e) {
                        throw new RuntimeException(
                                "Unable to load Protobuf schema for type: " + t + ", resource: " + res.getLocation(), e);
                    }

                    try {
                        return Protobuf.mapper().generateSchemaFor(Class.forName(contentClass));
                    } catch (JsonMappingException | ClassNotFoundException e) {
                        throw new RuntimeException(
                                "Unable to compute Protobuf schema for type: " + t, e);
                    }
                });
            }
        }

        if (answer != null) {
            this.schema = answer;
        }

        return answer;
    }
ID: 234_288
ClassID: 234
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConsumer.java
Name: org.apache.camel.component.smb.SmbConsumer.doStart()
    protected void doStart() throws Exception {
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            } else if (configuration.isStartingDirectoryMustExist() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                SmbOperations ops = (SmbOperations) operations;
                boolean exists = ops.existsFolder(dir);
                if (!exists) {
                    throw new GenericFileOperationFailedException("Starting directory does not exist: " + dir);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
Pair #3344 Negative (Non-Clone)
ID: 3172_2443
ClassID: 3172
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.failedExchange(Exchange exchange)
    public void failedExchange(Exchange exchange) {
         
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(includeRouteTemplates, includeKamelets);
            if (level <= 1) {
                super.failedExchange(exchange);
                if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                    remoteExchangesTotal.increment();
                    remoteExchangesFailed.increment();
                    remoteExchangesInflight.decrement();
                }
            }
        } else {
            super.failedExchange(exchange);
            if (exchange.getFromEndpoint() != null && exchange.getFromEndpoint().isRemote()) {
                remoteExchangesTotal.increment();
                remoteExchangesFailed.increment();
                remoteExchangesInflight.decrement();
            }
        }
    }
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #3345 Negative (Non-Clone)
ID: 2581_2178
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.doLoadJavaSource(String className)
    private String doLoadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

             
            if (file == null && className.startsWith("org.apache.camel.support.")) {
                return null;
            }

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 3247_2582
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupCustomTypeConverters()
    private void setupCustomTypeConverters() {
        Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
        if (typeConverters != null && !typeConverters.isEmpty()) {
            for (Entry<String, TypeConverters> entry : typeConverters.entrySet()) {
                TypeConverters converter = entry.getValue();
                LOG.info("Adding custom TypeConverters with id: {} and implementation: {}", entry.getKey(), converter);
                getContext().getTypeConverterRegistry().addTypeConverters(converter);
            }
        }
    }
Pair #3346 Negative (Non-Clone)
ID: 1460_1313
ClassID: 1460
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.getState(Exchange exchange, DaprClient client)
    private DaprOperationResponse getState(Exchange exchange, DaprClient client) {
        String stateStore = configurationOptionsProxy.getStateStore(exchange);
        String key = configurationOptionsProxy.getKey(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);
        StateOptions stateOptions = getStateOptions(exchange);

        GetStateRequest stateRequest = new GetStateRequest(stateStore, key);
        stateRequest.setMetadata(metadata);
        stateRequest.setStateOptions(stateOptions);

        State<byte[]> response = client.getState(stateRequest, TypeRef.get(byte[].class)).block();

        return DaprOperationResponse.create(response);
    }
ID: 1308_1164
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesConsumer.java
Name: org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesConsumer.run()
        public void run() {
            NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>> w
                    = getEndpoint().getKubernetesClient().namespaces();

            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) w.withLabel(labelKey, labelValue);
            } else if (ObjectHelper.isNotEmpty(resourceName)) {
                w = (NonNamespaceOperation<Namespace, NamespaceList, Resource<Namespace>>) getEndpoint().getKubernetesClient()
                        .namespaces().withName(resourceName);
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Namespace resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }
            });
        }
Pair #3347 Negative (Non-Clone)
ID: 2609_2241
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
    public static Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Method name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Method[] methods = searchType.isInterface() ? searchType.getMethods() : searchType.getDeclaredMethods();
            for (Method method : methods) {
                if (name.equals(method.getName())
                        && (paramTypes == null || Arrays.equals(paramTypes, method.getParameterTypes()))) {
                    return method;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 141_123
ClassID: 141
File: systems/camel-java/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientConnection.java
Name: org.apache.camel.component.iec60870.client.ClientConnection.startInterrogation(ASDUAddress asduAddress, short qoi)
    public boolean startInterrogation(ASDUAddress asduAddress, short qoi) {
        DataModuleContext context = dataModuleContextRef.get();
        if (context == null) {
            LOG.warn("Cannot start interrogation: not connected or data module not initialized");
            return false;
        }
        try {
            context.startInterrogation(asduAddress, qoi);
            LOG.debug("Started interrogation for ASDU address {} with QOI {}", asduAddress, qoi);
            return true;
        } catch (Exception e) {
            LOG.error("Failed to start interrogation", e);
            return false;
        }
    }
Pair #3348 Negative (Non-Clone)
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
Pair #3349 Negative (Non-Clone)
ID: 3216_2495
ClassID: 3216
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
Name: org.apache.camel.impl.console.StartupRecorderDevConsole.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s (%s)", step.getDescription(), step.getName());
        } else {
            out3 = String.format("%s", step.getDescription());
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
Pair #3350 Negative (Non-Clone)
ID: 1137_978
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor)
    protected AbstractGitHubConsumer(GitHubEndpoint endpoint, Processor processor) throws Exception {
        super(endpoint, processor);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            LOG.debug("Using RepositoryService found in registry {}", service.getClass().getCanonicalName());
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }

        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
Pair #3351 Negative (Non-Clone)
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1403_1251
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.createSubmitMulti(Exchange exchange)
    protected SubmitMulti[] createSubmitMulti(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        byte[][] segments = splitBody(message);
        SubmitMulti template = createSubmitMultiTemplate(exchange);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitMulti[] submitMulties = new SubmitMulti[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitMulti submitMulti = SmppUtils.copySubmitMulti(template);
            submitMulti.setShortMessage(segments[i]);
            submitMulties[i] = submitMulti;
        }

        setRegisterDeliveryReceiptFlag(submitMulties, message);
        return submitMulties;
    }
Pair #3352 Negative (Non-Clone)
ID: 991_845
ClassID: 991
File: systems/camel-java/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo2.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
ID: 1410_1263
ClassID: 1410
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
Name: org.apache.camel.http.common.HttpCommonEndpoint.getPort()
    public int getPort() {
        if (httpUri.getPort() == -1) {
            if ("https".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return httpUri.getPort();
    }
Pair #3353 Negative (Non-Clone)
ID: 3107_2390
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/StaticServiceCallServiceDiscoveryConfiguration.java
Name: org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
ID: 1378_1243
ClassID: 1378
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiComponent.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiComponent.createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
    protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters)
            throws Exception {
        RestOpenApiEndpoint endpoint = new RestOpenApiEndpoint(uri, remaining, this, parameters);
        endpoint.setApiContextPath(getApiContextPath());
        endpoint.setBasePath(getBasePath());
        endpoint.setBindingPackageScan(getBindingPackageScan());
        endpoint.setClientRequestValidation(isClientRequestValidation());
        endpoint.setClientResponseValidation(isClientResponseValidation());
        endpoint.setComponentName(getComponentName());
        endpoint.setConsumerComponentName(getConsumerComponentName());
        endpoint.setConsumes(getConsumes());
        if (getHost() != null) {
            endpoint.setHost(getHost());
        }
        endpoint.setProduces(getProduces());
        endpoint.setRequestValidationEnabled(isRequestValidationEnabled());
        if (getSpecificationUri() != null) {
            endpoint.setSpecificationUri(getSpecificationUri());
        }
        endpoint.setMissingOperation(getMissingOperation());
        endpoint.setMockIncludePattern(getMockIncludePattern());
        endpoint.setRestOpenapiProcessorStrategy(getRestOpenapiProcessorStrategy());
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3354 Negative (Non-Clone)
ID: 2220_1739
ClassID: 2220
File: systems/camel-java/components/camel-crypto-pgp/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
Name: org.apache.camel.converter.crypto.PGPDataFormatUtil.isEncryptionKey(PGPPublicKey key)
    private static boolean isEncryptionKey(PGPPublicKey key) {
        if (!key.isEncryptionKey()) {
            return false;
        }
         
        Boolean hasEncryptionKeyFlags
                = hasOneOfExpectedKeyFlags(key, new int[] { KeyFlags.ENCRYPT_COMMS, KeyFlags.ENCRYPT_STORAGE });
        if (hasEncryptionKeyFlags != null && !hasEncryptionKeyFlags) {
            LOG.debug(
                    "Public key with key key ID {} found for specified user ID. But this key will not be used for the encryption, because its key flags are not encryption key flags.",
                    key.getKeyID());
            return false;
        } else {
             
            return true;
        }

    }
ID: 189_203
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetJob(final Exchange exchange, final AsyncCallback callback)
    private void processGetJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        String jobId;
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #3355 Negative (Non-Clone)
ID: 1426_1275
ClassID: 1426
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt, CMSCompressedDataGenerator dataGenerator, OutputCompressor compressor, String compressedContentTransferEncoding, boolean isMainBody)
    public ApplicationPkcs7MimeCompressedDataEntity(MimeEntity entity2Encrypt,
                                                    CMSCompressedDataGenerator dataGenerator,
                                                    OutputCompressor compressor,
                                                    String compressedContentTransferEncoding,
                                                    boolean isMainBody)
                                                                        throws HttpException {
        super(ContentType.create("application/pkcs7-mime", new BasicNameValuePair("smime-type", "compressed-data"),
                new BasicNameValuePair("name", "smime.p7z")),
              compressedContentTransferEncoding);
        addHeader(AS2Header.CONTENT_DISPOSITION, CONTENT_DISPOSITION);
        setMainBody(isMainBody);
        try {
            this.compressedData = createCompressedData(entity2Encrypt, dataGenerator, compressor);
        } catch (Exception e) {
            throw new HttpException("Failed to create encrypted data");
        }
    }
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
Pair #3356 Negative (Non-Clone)
ID: 1428_1282
ClassID: 1428
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/LogicalOperatorType.java
Name: org.apache.camel.language.simple.types.LogicalOperatorType.asOperator(String text)
    public static LogicalOperatorType asOperator(String text) {
        switch (text) {
            case "&&":
                return AND;
            case "||":
                return OR;
            default:
                throw new IllegalArgumentException("Operator not supported: " + text);
        }
    }
ID: 2532_2107
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key)
    public Optional<Object> newInstance(String key) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<Object> answer = super.newInstance(key);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            Object obj = ResolverHelper.resolveService(camelContext, finder, key, Object.class).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #3357 Negative (Non-Clone)
ID: 187_184
ClassID: 187
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        boolean done = false;

        try {
            switch (operationName) {
                case CREATE_JOB:
                    processCreateJob(exchange, callback);
                    break;
                case GET_JOB:
                    processGetJob(exchange, callback);
                    break;
                case CLOSE_JOB:
                    processCloseJob(exchange, callback);
                    break;
                case ABORT_JOB:
                    processAbortJob(exchange, callback);
                    break;
                case CREATE_BATCH:
                    processCreateBatch(exchange, callback);
                    break;
                case GET_BATCH:
                    processGetBatch(exchange, callback);
                    break;
                case GET_ALL_BATCHES:
                    processGetAllBatches(exchange, callback);
                    break;
                case GET_REQUEST:
                    processGetRequest(exchange, callback);
                    break;
                case GET_RESULTS:
                    processGetResults(exchange, callback);
                    break;
                case CREATE_BATCH_QUERY:
                    processCreateBatchQuery(exchange, callback);
                    break;
                case GET_QUERY_RESULT_IDS:
                    processGetQueryResultIds(exchange, callback);
                    break;
                case GET_QUERY_RESULT:
                    processGetQueryResult(exchange, callback);
                    break;
                default:
                    throw new SalesforceException("Unknown operation name: " + operationName.value(), null);
            }
        } catch (SalesforceException e) {
            exchange.setException(new SalesforceException(
                    String.format("Error processing %s: [%s] \"%s\"", operationName.value(), e.getStatusCode(), e.getMessage()),
                    e));
            callback.done(true);
            done = true;
        } catch (InvalidPayloadException | RuntimeException e) {
            exchange.setException(new SalesforceException(
                    String.format("Unexpected Error processing %s: \"%s\"", operationName.value(), e.getMessage()), e));
            callback.done(true);
            done = true;
        }

         
        return done;
    }
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #3358 Negative (Non-Clone)
ID: 1717_1426
ClassID: 1717
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.parseHostAddresses(String ipsString, ElasticsearchConfiguration config)
    private List<HttpHost> parseHostAddresses(String ipsString, ElasticsearchConfiguration config) {
        if (ipsString == null || ipsString.isEmpty()) {
            return null;
        }
        List<String> addressesStr = Arrays.asList(ipsString.split(","));
        List<HttpHost> addressesTrAd = new ArrayList<>(addressesStr.size());
        for (String address : addressesStr) {
            String[] split = address.split(":");
            String hostname;
            if (split.length > 0) {
                hostname = split[0];
            } else {
                throw new IllegalArgumentException();
            }
            int port = split.length > 1 ? Integer.parseInt(split[1]) : ElasticsearchConstants.DEFAULT_PORT;
            addressesTrAd.add(new HttpHost(hostname, port, config.isEnableSSL() ? "HTTPS" : "HTTP"));
        }
        return addressesTrAd;
    }
ID: 1122_954
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/models/DmsRegion.java
Name: org.apache.camel.component.huaweicloud.dms.models.DmsRegion.valueOf(String regionId)
    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            Region result = STATIC_FIELDS.get(regionId);
            if (Objects.nonNull(result)) {
                return result;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
Pair #3359 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 3285_2681
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, String message)
    public void process(Exchange exchange, String message) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange) + message;
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output);
            closeListeners(exchange, output);
        }
    }
Pair #3360 Negative (Non-Clone)
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
ID: 1322_1230
ClassID: 1322
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
Name: org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesProducer.doGet(Exchange exchange, String namespaceName)
    protected void doGet(Exchange exchange, String namespaceName) {
        String customResourceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRD_INSTANCE_NAME, String.class);
        if (ObjectHelper.isEmpty(customResourceName)) {
            throw new IllegalArgumentException("Get a specific custom resource require specify a custom resource name");
        }
        JsonObject customResourceJSON = new JsonObject();
        try {
            customResourceJSON = new JsonObject(
                    getEndpoint().getKubernetesClient().genericKubernetesResources(getCRDContext(exchange.getIn()))
                            .inNamespace(namespaceName)
                            .withName(customResourceName)
                            .require()
                            .get());

        } catch (KubernetesClientException e) {
            if (e.getCode() == 404) {
                LOG.info("Custom resource instance not found", e);
            } else {
                throw e;
            }
        }

        prepareOutboundMessage(exchange, customResourceJSON);
    }
Pair #3361 Negative (Non-Clone)
ID: 2421_1901
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessWatchCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessWatchCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                autoClearScreen();
                exit = doProcessWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doProcessWatchCall();
        }
        return exit;
    }
ID: 1106_937
ClassID: 1106
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.updateUser(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateUser(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        Object body = exchange.getMessage().getBody();
        UpdateUserOption userOption;
        if (body instanceof UpdateUserOption) {
            userOption = (UpdateUserOption) body;
        } else if (body instanceof String) {
            String strBody = (String) body;
            try {
                userOption = new ObjectMapper().readValue(strBody, UpdateUserOption.class);
            } catch (JsonProcessingException e) {
                throw new IllegalArgumentException("String request body must be a valid JSON");
            }
        } else {
            throw new IllegalArgumentException(
                    "Exchange body is mandatory and should be a valid JSON string or UpdateUserOption object");
        }

         
        if (ObjectHelper.isEmpty(clientConfigurations.getUserId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No user id given");
            }
            throw new IllegalArgumentException("User id is mandatory to update user");
        }

         
        UpdateUserRequestBody requestBody = new UpdateUserRequestBody()
                .withUser(userOption);
        UpdateUserRequest request = new UpdateUserRequest()
                .withBody(requestBody)
                .withUserId(clientConfigurations.getUserId());
        UpdateUserResponse response = iamClient.updateUser(request);
        exchange.getMessage().setBody(gson.toJson(response.getUser()));
    }
Pair #3362 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 1005_864
ClassID: 1005
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.parseQueryParams(Map<String, Object> options)
    private void parseQueryParams(Map<String, Object> options) {
         
        final Map<String, String> queryParams = new HashMap<>();
        for (Iterator<Map.Entry<String, Object>> it = options.entrySet().iterator(); it.hasNext();) {

            final Map.Entry<String, Object> entry = it.next();
            final String paramName = entry.getKey();

             
            if (paramName.startsWith("consumer.")) {
                continue;
            }

            if (!olingo4endpointPropertyNames.contains(paramName)) {

                 
                final Object value = entry.getValue();
                if (value == null) {
                    throw new IllegalArgumentException("Null value for query parameter " + paramName);
                }
                queryParams.put(paramName, value.toString());

                 
                it.remove();
            }
        }
        if (!queryParams.isEmpty()) {

            @SuppressWarnings("unchecked")
            final Map<String, String> oldParams = (Map<String, String>) options.get(QUERY_PARAMS_PROPERTY);
            if (oldParams == null) {
                 
                options.put(QUERY_PARAMS_PROPERTY, queryParams);
            } else {
                 
                oldParams.putAll(queryParams);
            }

        }
    }
Pair #3363 Negative (Non-Clone)
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 572_543
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getPortName(final CxfEndpoint endpoint)
    public static QName getPortName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getPortNameAsQName();
        if (answer == null) {
            String portLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.PORT_LOCALNAME);
            String portNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.PORT_NAMESPACE);
            if (portLocalName != null) {
                answer = new QName(portNamespace, portLocalName);
            }
        }
        return answer;
    }
Pair #3364 Negative (Non-Clone)
ID: 1274_1116
ClassID: 1274
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/routing/DynamicRouterEndpoint.java
Name: org.apache.camel.component.dynamicrouter.routing.DynamicRouterEndpoint.DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component, final DynamicRouterConfiguration configuration, final DynamicRouterFilterService filterService)
    public DynamicRouterEndpoint(final String uri, final DynamicRouterComponent component,
                                 final DynamicRouterConfiguration configuration,
                                 final DynamicRouterFilterService filterService) {
        super(uri, component);
        this.processorFactorySupplier = PROCESSOR_FACTORY_SUPPLIER;
        this.producerFactorySupplier = PRODUCER_FACTORY_SUPPLIER;
        this.recipientListSupplier = RECIPIENT_LIST_SUPPLIER;
        this.channel = configuration.getChannel();
        this.configuration = configuration;
        this.filterService = filterService;
        LOG.debug("Created Dynamic Router Control Channel endpoint URI: {}", uri);
    }
ID: 188_195
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetAllJobs(Exchange exchange, AsyncCallback callback)
    private void processGetAllJobs(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String queryLocator = getParameter(QUERY_LOCATOR, exchange, IGNORE_BODY, IS_OPTIONAL);
        bulkClient.getAllJobs(queryLocator, determineHeaders(exchange),
                new BulkApiV2Client.JobsResponseCallback() {
                    @Override
                    public void onResponse(Jobs jobs, Map<String, String> headers, SalesforceException ex) {
                        BulkApiV2Processor.this.processResponse(exchange, jobs, headers, ex, callback);
                    }
                });
    }
Pair #3365 Negative (Non-Clone)
ID: 2613_2254
ClassID: 2613
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.baseToJson(BaseModel<?> model, JsonObject obj)
    private static void baseToJson(BaseModel<?> model, JsonObject obj) {
        obj.put("kind", model.getKind());
        obj.put("name", model.getName());
        obj.put("title", model.getTitle());
        obj.put("description", model.getDescription());
        obj.put("deprecated", model.isDeprecated());
        obj.put("deprecatedSince", model.getDeprecatedSince());
        obj.put("deprecationNote", model.getDeprecationNote());
        obj.put("firstVersion", model.getFirstVersion());
        obj.put("label", model.getLabel());
        obj.put("javaType", model.getJavaType());
        if (model.getSupportLevel() != null) {
            obj.put("supportLevel", model.getSupportLevel().name());
        }
        if (model.isNativeSupported()) {
            obj.put("nativeSupported", model.isNativeSupported());
        }
        if (!model.getMetadata().isEmpty()) {
            obj.put("metadata", model.getMetadata());
        }
    }
ID: 768_697
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getVoice(Exchange exchange)
    private void getVoice(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String voiceName = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE_NAME, String.class);
        if (voiceName == null) {
            voiceName = exchange.getIn().getBody(String.class);
        }

        if (voiceName == null || voiceName.isBlank()) {
            throw new IllegalArgumentException("Voice name must be specified");
        }

        LOG.trace("Getting voice information for: {}", voiceName);

        GetVoiceOptions options = new GetVoiceOptions.Builder()
                .voice(voiceName)
                .build();

        Voice voice = tts.getVoice(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(voice);
    }
Pair #3366 Negative (Non-Clone)
ID: 1309_1169
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.eventReceived(Action action, DeploymentConfig resource)
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 1573_1385
ClassID: 1573
File: systems/camel-java/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpConvertersLoader.java
Name: org.apache.camel.component.http.HttpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.TimeValue.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeValue((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.hc.core5.util.Timeout.class, long.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.http.HttpConverters.toTimeout((long) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3367 Negative (Non-Clone)
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 260_342
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getListPathOptions(final Exchange exchange)
    public ListPathsOptions getListPathOptions(final Exchange exchange) {
        ListPathsOptions pathsOptions = getListPathsOptions(exchange);

        if (ObjectHelper.isNotEmpty(pathsOptions)) {
            return pathsOptions;
        }

        pathsOptions = new ListPathsOptions();

        final String path = getPath(exchange);
        final Boolean recursive = isRecursive(exchange);
        final Integer maxResults = getMaxResults(exchange);
        final Boolean userPrincipalNameReturned = isUserPrincipalNameReturned(exchange);

        pathsOptions = pathsOptions.setPath(path).setMaxResults(maxResults).setRecursive(recursive)
                .setUserPrincipalNameReturned(userPrincipalNameReturned);
        return pathsOptions;
    }
Pair #3368 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 1904_1566
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange, AsyncCallback callback)
            public boolean process(Exchange exchange, AsyncCallback callback) {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                return asyncProcessor.process(exchange, doneSync -> {
                    try {
                        callback.done(doneSync);
                    } finally {
                        mdcService.unsetMDC(exchange);
                        if (previousContext != null) {
                            MDC.setContextMap(previousContext);
                        } else {
                            MDC.clear();
                        }
                    }
                });
            }
Pair #3369 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 3163_2416
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedWeightedLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedWeightedLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3370 Negative (Non-Clone)
ID: 974_819
ClassID: 974
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.setValues(PreparedStatement ps, LobCreator lobCreator)
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        int totalParameterIndex = 0;
                        lobCreator.setBlobAsBytes(ps, ++totalParameterIndex, data);
                        ps.setString(++totalParameterIndex, key);
                        ps.setLong(++totalParameterIndex, version);
                        if (storeBodyAsText) {
                            ps.setString(++totalParameterIndex, exchange.getIn().getBody(String.class));
                        }
                        if (hasHeadersToStoreAsText()) {
                            for (String headerName : headersToStoreAsText) {
                                String headerValue = exchange.getIn().getHeader(headerName, String.class);
                                ps.setString(++totalParameterIndex, headerValue);
                            }
                        }
                    }
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
Pair #3371 Negative (Non-Clone)
ID: 106_98
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkAssignRoleToUsers(Keycloak keycloakClient, Exchange exchange) {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
        if (ObjectHelper.isEmpty(roleName)) {
            throw new IllegalArgumentException(MISSING_ROLE_NAME);
        }

         
        RoleRepresentation role;
        try {
            role = keycloakClient.realm(realmName).roles().get(roleName).toRepresentation();
        } catch (Exception e) {
            throw new RuntimeException("Failed to find role: " + roleName, e);
        }

        List<String> userIds = exchange.getIn().getHeader(KeycloakConstants.USER_IDS, List.class);
        if (userIds == null || userIds.isEmpty()) {
             
            List<String> usernames = exchange.getIn().getHeader(KeycloakConstants.USERNAMES, List.class);
            if (usernames == null || usernames.isEmpty()) {
                 
                Object payload = exchange.getIn().getBody();
                if (payload instanceof List) {
                    userIds = CastUtils.cast((List<?>) payload);
                } else {
                    throw new IllegalArgumentException("User IDs or usernames must be provided via header or body");
                }
            } else {
                 
                userIds = new ArrayList<>();
                for (String username : usernames) {
                    List<UserRepresentation> foundUsers
                            = keycloakClient.realm(realmName).users().searchByUsername(username, true);
                    if (!foundUsers.isEmpty()) {
                        userIds.add(foundUsers.get(0).getId());
                    }
                }
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (String userId : userIds) {
            Map<String, Object> result = new HashMap<>();
            result.put("userId", userId);
            try {
                keycloakClient.realm(realmName).users().get(userId).roles().realmLevel().add(List.of(role));
                result.put("status", "success");
                successCount++;
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to assign role to user: " + userId, e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", userIds.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("roleName", roleName);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3372 Negative (Non-Clone)
ID: 662_599
ClassID: 662
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryAnnotationExpressionFactory.java
Name: org.apache.camel.component.xquery.XQueryAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #3373 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1838_1498
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager)
    public static void configureSignatureAlgorithms(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinSignatures> builtIn = BuiltinSignatures.VALUES;
        Set<SignatureFactory> registered = BuiltinSignatures.getRegisteredExtensions();
        Set<SignatureFactory> allSignatureFactories = new HashSet<>();
        allSignatureFactories.addAll(builtIn);
        allSignatureFactories.addAll(registered);
        List<NamedFactory<Signature>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allSignatureFactories);
        factoryManager.setSignatureFactories(filter(Signature.class, avail, names.split(",")));
    }
Pair #3374 Negative (Non-Clone)
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
Pair #3375 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 1887_1556
ClassID: 1887
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Name: org.apache.camel.component.mina.MinaProducer.configureDataGramCodecFactory(final String type, final IoService service, final MinaConfiguration configuration)
    protected void configureDataGramCodecFactory(
            final String type, final IoService service, final MinaConfiguration configuration) {
        ProtocolCodecFactory codecFactory = configuration.getCodec();
        if (codecFactory == null) {
            codecFactory = new MinaUdpProtocolCodecFactory(this.getEndpoint().getCamelContext());

            if (LOG.isDebugEnabled()) {
                LOG.debug("{}: Using CodecFactory: {}", type, codecFactory);
            }
        }

        addCodecFactory(service, codecFactory);
    }
Pair #3376 Negative (Non-Clone)
ID: 3111_2398
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.init(CamelContext context)
    public void init(CamelContext context) {
        if (expr == null) {
            lock.lock();
            try {
                if (expr == null) {
                    Expression newExpression = getExpressionValue();
                    if (newExpression == null) {
                        newExpression = delegate.getExpressionType().createExpression(context);
                    }
                    newExpression.init(context);
                    expr = newExpression;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3377 Negative (Non-Clone)
ID: 1724_1446
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createTrustManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static TrustManagerFactory createTrustManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
        if (trustManagers == null) {
            return null;
        }
        trustManagers.setCamelContext(camelContext);
        if (trustManagers.getKeyStore() != null) {
            trustManagers.getKeyStore().setCamelContext(camelContext);
        }

        TrustManagerFactory tmf = null;

        if (trustManagers.getKeyStore() != null) {
            String tmfAlgorithm = camelContext.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
            if (tmfAlgorithm == null) {
                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            }

            if (trustManagers.getProvider() == null) {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            } else {
                tmf = TrustManagerFactory.getInstance(tmfAlgorithm,
                        camelContext.resolvePropertyPlaceholders(trustManagers.getProvider()));
            }

            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
            tmf.init(ks);
        }
        return tmf;
    }
ID: 3289_2688
ClassID: 3289
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/ComponentCustomizer.java
Name: org.apache.camel.spi.ComponentCustomizer.condition()
        private BiPredicate<String, Component> condition() {
            if (type.equals(Component.class)) {
                return this.condition != null
                        ? this.condition
                        : new BiPredicate<>() {
                            @Override
                            public boolean test(String s, Component language) {
                                return true;
                            }
                        };
            }

            if (condition == null) {
                return new BiPredicate<>() {
                    @Override
                    public boolean test(String name, Component target) {
                        return type.isAssignableFrom(target.getClass());
                    }
                };
            }

            return new BiPredicate<>() {
                @Override
                public boolean test(String name, Component target) {
                    return type.isAssignableFrom(target.getClass()) && condition.test(name, target);
                }
            };
        }
Pair #3378 Negative (Non-Clone)
ID: 634_565
ClassID: 634
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy.retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails)
    public JobKey retrieveJobKey(Action action, ScheduledRouteDetails scheduledRouteDetails) {
        JobKey result = null;

        if (action == Action.START) {
            result = scheduledRouteDetails.getStartJobKey();
        } else if (action == Action.STOP) {
            result = scheduledRouteDetails.getStopJobKey();
        } else if (action == Action.SUSPEND) {
            result = scheduledRouteDetails.getSuspendJobKey();
        } else if (action == Action.RESUME) {
            result = scheduledRouteDetails.getResumeJobKey();
        }

        return result;
    }
ID: 2211_1735
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.updateJobRetries(JobRequest message)
    public JobResponse updateJobRetries(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.UpdateJobRetriesRequest.Builder builder = GatewayOuterClass.UpdateJobRetriesRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            builder = builder.setRetries(message.getRetries());
            GatewayOuterClass.UpdateJobRetriesRequest request = builder.build();
            GatewayOuterClass.UpdateJobRetriesResponse updateJobRetriesResponse = stub.updateJobRetries(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot update retries for Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #3379 Negative (Non-Clone)
ID: 1139_984
ClassID: 1139
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
Name: org.apache.camel.component.metrics.MetricsEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        if (metricsType == MetricsType.COUNTER) {
            return new CounterProducer(this);
        } else if (metricsType == MetricsType.HISTOGRAM) {
            return new HistogramProducer(this);
        } else if (metricsType == MetricsType.METER) {
            return new MeterProducer(this);
        } else if (metricsType == MetricsType.TIMER) {
            return new TimerProducer(this);
        } else if (metricsType == MetricsType.GAUGE) {
            return new GaugeProducer(this);
        } else {
            throw new IllegalArgumentException("Metrics type " + metricsType + " is not supported");
        }
    }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #3380 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3381 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
Pair #3382 Negative (Non-Clone)
ID: 1275_1119
ClassID: 1275
File: systems/camel-java/core/camel-support/src/generated/java/org/apache/camel/converter/stream/StreamCacheBulkConverterLoader.java
Name: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader.convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value)
    public <T> T convertTo(Class<?> from, Class<T> to, Exchange exchange, Object value) throws TypeConversionException {
        try {
            Object obj = doConvertTo(from, to, exchange, value);
            return (T) obj;
        } catch (TypeConversionException e) {
            throw e;
        } catch (Exception e) {
            throw new TypeConversionException(value, to, e);
        }
    }
ID: 1806_1474
ClassID: 1806
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.runAsyncPush(Exchange exchange, Message message, DockerClient client)
    private void runAsyncPush(Exchange exchange, Message message, DockerClient client) throws InterruptedException {
        try (PushImageCmd cmd = executePushImageRequest(client, message)) {
            Adapter<PushResponseItem> item = cmd.exec(new Adapter<PushResponseItem>() {
                @Override
                public void onNext(PushResponseItem item) {
                    super.onNext(item);

                    LOG.trace("push image callback {}", item);
                }
            });

            setResponse(exchange, item);
        }
    }
Pair #3383 Negative (Non-Clone)
ID: 3215_2493
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent)
    private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids;
        try {
            ids = mrb.processorIds();
        } catch (Exception e) {
            return null;
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
ID: 1002_859
ClassID: 1002
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.configureProperties(Map<String, Object> options)
    public void configureProperties(Map<String, Object> options) {
         
        Map<String, Object> query = new CaseInsensitiveMap();
        Map<String, Object> known = new CaseInsensitiveMap();
        options.forEach((k, v) -> {
            if (k.startsWith("$")) {
                query.put(k, v);
            } else {
                known.put(k, v);
            }
        });
        options.keySet().removeIf(known::containsKey);

         
        PropertyConfigurer configurer = getComponent().getEndpointPropertyConfigurer();
        if (configurer instanceof ExtendedPropertyConfigurerGetter) {
            ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
            for (String name : getter.getAllOptions(this).keySet()) {
                if (known.containsKey(name)) {
                    Object value = known.get(name);
                    boolean hit = configurer.configure(getCamelContext(), this, name, value, true);
                    if (hit) {
                        known.remove(name);
                    }
                }
            }
        }
         
        configurer = PluginHelper.getConfigurerResolver(getCamelContext())
                .resolvePropertyConfigurer(configuration.getClass().getName(), getCamelContext());
        if (configurer != null) {
            PropertyBindingSupport.build()
                    .withConfigurer(configurer)
                    .withIgnoreCase(true)
                    .withTarget(configuration)
                    .withCamelContext(getCamelContext())
                    .withProperties(known)
                    .withRemoveParameters(true)
                    .bind();
        }
        super.configureProperties(known);
        if (!known.isEmpty()) {
             
            query.putAll(known);
        }
         
        options.keySet().removeIf(query::containsKey);
         
        parseQueryParams(query);
         
        options.putAll(query);
    }
Pair #3384 Negative (Non-Clone)
ID: 715_656
ClassID: 715
File: systems/camel-java/components/camel-opentelemetry2/src/main/java/org/apache/camel/opentelemetry2/OpenTelemetrySpanAdapter.java
Name: org.apache.camel.opentelemetry2.OpenTelemetrySpanAdapter.convertToAttributes(Map<String, ?> fields)
    private Attributes convertToAttributes(Map<String, ?> fields) {
        AttributesBuilder attributesBuilder = Attributes.builder();

        for (Map.Entry<String, ?> entry : fields.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value == null) {
                continue;
            }
            if (value instanceof Byte
                    || value instanceof Short
                    || value instanceof Integer
                    || value instanceof Long) {
                attributesBuilder.put(key, ((Number) value).longValue());
            } else if (value instanceof Float || value instanceof Double) {
                attributesBuilder.put(key, ((Number) value).doubleValue());
            } else if (value instanceof Boolean) {
                attributesBuilder.put(key, (Boolean) value);
            } else {
                attributesBuilder.put(key, value.toString());
            }
        }
        return attributesBuilder.build();
    }
ID: 1499_1347
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUSASCII(String flavor, String mimeType)
    public DocFlavor forMimeTypeUSASCII(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_US_ASCII")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_US_ASCII;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_US_ASCII;
            }
        }

        return d;
    }
Pair #3385 Negative (Non-Clone)
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
ID: 1434_1297
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7SignatureEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7SignatureEntity parseApplicationPkcs7SignatureEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] signature = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);

            Charset charset = contentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            String charsetName = charset.toString();
            return new ApplicationPkcs7SignatureEntity(signature, charsetName, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Signature entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3386 Negative (Non-Clone)
ID: 2652_2315
ClassID: 2652
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.toString()
        public String toString() {
            if (!onCompleteOnly && !onFailureOnly) {
                return "onCompleteOrFailure";
            } else if (onCompleteOnly) {
                return "onCompleteOnly";
            } else {
                return "onFailureOnly";
            }
        }
ID: 210_231
ClassID: 210
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
Name: org.apache.camel.component.servlet.ServletRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        ServletEndpoint endpoint = (ServletEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {

            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #3387 Negative (Non-Clone)
ID: 2201_1730
ClassID: 2201
File: systems/camel-java/components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GitHubResource.java
Name: org.apache.camel.github.GitHubResource.exists()
    public boolean exists() {
        if (!init) {
            try {
                URL u = URI.create(getLocation()).toURL();
                try (InputStream is = u.openStream()) {
                    cache = camelContext.getTypeConverter().tryConvertTo(byte[].class, is);
                }
            } catch (Exception e) {
                 
            }
            init = true;
        }
        return cache != null;
    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3388 Negative (Non-Clone)
ID: 2461_1965
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.doDumpCall()
    protected Integer doDumpCall() throws Exception {
         
        tableHelper = new MessageTableHelper();
        tableHelper.setPretty(pretty);
        tableHelper.setLoggingColor(loggingColor);
        tableHelper.setShowExchangeProperties(showExchangeProperties);
        tableHelper.setShowExchangeVariables(showExchangeVariables);
        tableHelper.setExchangeIdColorChooser(value -> {
            Ansi.Color color = exchangeIdColors.get(value);
            if (color == null) {
                 
                exchangeIdColorsIndex++;
                if (exchangeIdColorsIndex > 6) {
                    exchangeIdColorsIndex = 2;
                }
                color = Ansi.Color.values()[exchangeIdColorsIndex];
                exchangeIdColors.put(value, color);
            }
            return color;
        });

        Map<Long, Pid> pids = new LinkedHashMap<>();

        if (latest) {
             
            tail = 0;
            since = null;
        }

         
        updatePids(pids);
        if (!pids.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
             
            if (tail != 0) {
                tailTraceFiles(pids, tail);
                dumpTraceFiles(pids, tail, limit);
            } else if (latest) {
                 
                positionTraceLatest(pids);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            StopWatch watch = new StopWatch();
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            boolean more = true;
            do {
                if (pids.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for traces ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(pids);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(pids);
                        watch.restart();
                    }
                    int lines = readTraceFiles(pids);
                    if (lines > 0) {
                        more = dumpTraceFiles(pids, 0, null);
                    } else if (lines == 0) {
                        Thread.sleep(100);
                    } else {
                        break;
                    }
                }
            } while (more && running.get());
        }

        return 0;
    }
ID: 193_217
ClassID: 193
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processQuery(final Exchange exchange, final AsyncCallback callback)
    private void processQuery(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        final String sObjectQuery = getParameter(SOBJECT_QUERY, exchange, USE_BODY, NOT_OPTIONAL);
        final boolean streamQueryResults = getParameter(STREAM_QUERY_RESULT, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        setResponseClass(exchange);
        exchange.setProperty(RESPONSE_CLASS_PREFIX, "QueryRecords");

        if (streamQueryResults) {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithStreamResultCallback(exchange, callback));
        } else {
            restClient.query(sObjectQuery, determineHeaders(exchange), processWithResponseCallback(exchange, callback));
        }
    }
Pair #3389 Negative (Non-Clone)
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #3390 Negative (Non-Clone)
ID: 240_304
ClassID: 240
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("gcp")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("gcp");
            if (pf instanceof GoogleSecretManagerPropertiesFunction) {
                propertiesFunction = (GoogleSecretManagerPropertiesFunction) pf;
            }
        }
        GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
        if (gcp != null && gcp.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(PubsubReloadTriggerTask.class);
        }
    }
ID: 1478_1318
ClassID: 1478
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.process(String uri, Function<? super Publisher<Exchange>, ?> processor)
    public void process(String uri, Function<? super Publisher<Exchange>, ?> processor) {
        try {
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from(uri)
                            .process(exchange -> {
                                Exchange copy = exchange.copy();
                                Object result = processor.apply(Flowable.just(copy));
                                exchange.getIn().setBody(result);
                            })
                            .process(unwrapStreamProcessorSupplier.get());
                }
            });
        } catch (Exception e) {
            throw new IllegalStateException("Unable to add reactive stream processor to the direct URI: " + uri, e);
        }
    }
Pair #3391 Negative (Non-Clone)
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
Pair #3392 Negative (Non-Clone)
ID: 698_640
ClassID: 698
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doDelete(Exchange exchange, SqlSession session)
    private void doDelete(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
            Iterator<?> iter;
            if (in instanceof Map) {
                 
                iter = Collections.singletonList(in).iterator();
            } else {
                iter = ObjectHelper.createIterator(in);
            }
            while (iter.hasNext()) {
                Object value = iter.next();
                LOG.trace("Deleting: {} using statement: {}", value, statement);
                result = session.delete(statement, value);
                doProcessResult(exchange, result, session);
            }
        } else {
            LOG.trace("Deleting using statement: {}", statement);
            result = session.delete(statement);
            doProcessResult(exchange, result, session);
        }
    }
ID: 40_59
ClassID: 40
File: systems/camel-java/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiHelper.java
Name: org.apache.camel.component.rest.openapi.RestOpenApiHelper.parseVariables(String url, Server server)
    public static String parseVariables(String url, Server server) {
        Pattern p = Pattern.compile("\\{(.*?)\\}");
        Matcher m = p.matcher(url);
        while (m.find()) {

            String variable = m.group(1);
            if (server != null && server.getVariables() != null && server.getVariables().get(variable) != null) {
                String varValue = server.getVariables().get(variable).getDefault();
                url = url.replace("{" + variable + "}", varValue);
            }
        }
        return url;
    }
Pair #3393 Negative (Non-Clone)
ID: 211_234
ClassID: 211
File: systems/camel-java/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java
Name: org.apache.camel.component.jetty12.JettyHttpEndpoint12.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
            this.binding = new AttachmentHttpBinding();
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
ID: 3227_2520
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createOrExpression(final Expression leftExp, final Expression rightExp)
    private Expression createOrExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.or(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
Pair #3394 Negative (Non-Clone)
ID: 768_700
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.getModel(Exchange exchange)
    private void getModel(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        String modelName = exchange.getIn().getHeader(WatsonSpeechToTextConstants.MODEL_NAME, String.class);
        if (modelName == null) {
            modelName = exchange.getIn().getBody(String.class);
        }

        if (modelName == null || modelName.isBlank()) {
            throw new IllegalArgumentException("Model name must be specified");
        }

        LOG.trace("Getting model information for: {}", modelName);

        GetModelOptions options = new GetModelOptions.Builder()
                .modelId(modelName)
                .build();

        SpeechModel model = stt.getModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(model);
    }
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3395 Negative (Non-Clone)
ID: 484_512
ClassID: 484
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpointUtils.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpointUtils.getEffectiveAddress(Exchange exchange, String defaultAddress)
    public static String getEffectiveAddress(Exchange exchange, String defaultAddress) {
        String retval = exchange.getIn().getHeader(CxfConstants.DESTINATION_OVERRIDE_URL, String.class);
        if (retval == null) {
            retval = defaultAddress;
        } else {
            LOG.trace("Client address is overridden by header '{}' to value '{}'",
                    CxfConstants.DESTINATION_OVERRIDE_URL, retval);
        }
        return retval;
    }
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #3396 Negative (Non-Clone)
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 3296_2705
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.suspend()
    public void suspend() {
        lock.lock();
        try {
            if (status == SUSPENDED) {
                logger().trace("Service: {} already suspended", this);
                return;
            }
            if (status == SUSPENDING) {
                logger().trace("Service: {} already suspending", this);
                return;
            }
            status = SUSPENDING;
            logger().trace("Suspending service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doSuspend();
                status = SUSPENDED;
                logger().trace("Suspended service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while suspending service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3397 Negative (Non-Clone)
ID: 2474_2016
ClassID: 2474
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit)
    private boolean dumpReceiveFiles(Map<Long, Pid> pids, int tail, Date limit) {
        Set<String> names = new HashSet<>();
        List<Row> rows = new ArrayList<>();
        for (Pid pid : pids.values()) {
            Queue<String> queue = pid.fifo;
            if (queue != null) {
                for (String l : queue) {
                    names.add(pid.name);
                    List<Row> parsed = parseReceiveLine(pid, l);
                    if (parsed != null && !parsed.isEmpty()) {
                        rows.addAll(parsed);
                    }
                }
                pid.fifo.clear();
            }
        }

         
        if (names.size() > 1) {
             
            final Map<String, Long> lastTimestamp = new HashMap<>();
            rows.sort((r1, r2) -> {
                long t1 = r1.timestamp;
                long t2 = r2.timestamp;
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r1.name);
                }
                if (t1 == 0) {
                    t1 = lastTimestamp.get(r2.name);
                }
                if (t1 == 0 && t2 == 0) {
                    return 0;
                } else if (t1 == 0) {
                    return -1;
                } else if (t2 == 0) {
                    return 1;
                }
                lastTimestamp.put(r1.name, t1);
                lastTimestamp.put(r2.name, t2);
                return Long.compare(t1, t2);
            });
        }
        if (tail > 0) {
             
            int pos = rows.size() - tail;
            if (pos > 0) {
                rows = rows.subList(pos, rows.size());
            }
        }

        for (Row r : rows) {
            printDump(r.name, pids.size(), r, limit);
        }
        return true;
    }
ID: 1265_1110
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid)
    public static String extractRouteId(CamelContext context, String remaining, Map<String, Object> parameters, String uuid) {
        Object param = parameters.get(PARAM_ROUTE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_ROUTE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.after(remaining, "/");
        }
        if (answer == null) {
            answer = extractTemplateId(context, remaining, parameters) + "-" + uuid;
        }

        return answer;
    }
Pair #3398 Negative (Non-Clone)
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 1572_1382
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.charsetDecoder(IoSession session)
    private CharsetDecoder charsetDecoder(IoSession session) {
        synchronized (session) {
            CharsetDecoder decoder = (CharsetDecoder) session.getAttribute(CHARSET_DECODER);
            if (decoder == null) {
                decoder = config.getCharset().newDecoder()
                        .onMalformedInput(config.getMalformedInputErrorAction())
                        .onUnmappableCharacter(config.getUnmappableCharacterErrorAction());
                session.setAttribute(CHARSET_DECODER, decoder);
            }
            return decoder;
        }
    }
Pair #3399 Negative (Non-Clone)
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
Pair #3400 Negative (Non-Clone)
ID: 3283_2677
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createXmlElementMaskPattern(Set<String> keywords)
    protected Pattern createXmlElementMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "(<([\\w]*(?:");
        regex.append(")[\\w]*)(?:[\\s]+.+)*?>[\\s]*?)(?:[\\S&&[^<]]+(?:\\s+[\\S&&[^<]]+)*?)([\\s]*?</\\2>)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("XML Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
ID: 259_341
ClassID: 259
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/client/DataLakeClientFactory.java
Name: org.apache.camel.component.azure.storage.datalake.client.DataLakeClientFactory.createDataLakeServiceClientWithSas(final DataLakeConfiguration configuration)
    private static DataLakeServiceClient createDataLakeServiceClientWithSas(
            final DataLakeConfiguration configuration) {
        AzureSasCredential sasCredential = configuration.getSasCredential();
        if (sasCredential == null) {
            LOG.trace("Using SAS signature to instantiate service client");
            sasCredential = new AzureSasCredential(configuration.getSasSignature());
        } else {
            LOG.trace("Using configured SAS instance to instantiate service client");
        }

        return new DataLakeServiceClientBuilder()
                .credential(sasCredential)
                .endpoint(buildAzureUri(configuration))
                .buildClient();
    }
Pair #3401 Negative (Non-Clone)
ID: 1245_1071
ClassID: 1245
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/InfluxDb2Producer.java
Name: org.apache.camel.component.influxdb2.InfluxDb2Producer.insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
    private void insertMeasurement(Exchange exchange, String orgName, String bucketName, WritePrecision writePrecision)
            throws InvalidPayloadException {
        Measurement measurement = exchange.getIn().getMandatoryBody(Measurement.class);
        try {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Writing measurement {}", measurement);
            }
            writeApi.writeMeasurement(bucketName, orgName, writePrecision, measurement.getInfluxMeasurement());
        } catch (Exception ex) {
            exchange.setException(new CamelInfluxDb2Exception(ex));
        }
    }
ID: 2441_1918
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.loadDebug(long pid)
    JsonObject loadDebug(long pid) {
        try {
            Path p = getDebugFile(Long.toString(pid));
            if (p != null && Files.exists(p)) {
                String text = Files.readString(p);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
Pair #3402 Negative (Non-Clone)
ID: 3286_2682
ClassID: 3286
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/component/extension/verifier/ResultBuilder.java
Name: org.apache.camel.component.extension.verifier.ResultBuilder.error(ThrowingConsumer<ResultBuilder, Exception> consumer)
    public ResultBuilder error(ThrowingConsumer<ResultBuilder, Exception> consumer) {
        try {
            consumer.accept(this);
        } catch (NoSuchOptionException e) {
            error(ResultErrorBuilder.withMissingOption(e.getOptionName()).build());
        } catch (IllegalOptionException e) {
            error(ResultErrorBuilder.withIllegalOption(e.getOptionName(), e.getOptionValue()).build());
        } catch (Exception e) {
            error(ResultErrorBuilder.withException(e).build());
        }

        return this;
    }
ID: 2663_2343
ClassID: 2663
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConcurrentRequestsThrottler.java
Name: org.apache.camel.processor.ConcurrentRequestsThrottler.calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange)
        public void calculateAndSetMaxConcurrentRequestsExpression(final Exchange exchange) throws Exception {
            lock.lock();
            try {
                Integer newThrottle = getMaximumRequestsExpression().evaluate(exchange, Integer.class);

                if (newThrottle != null && newThrottle < 0) {
                    throw new IllegalStateException(
                            "The maximumConcurrentRequests must be a positive number, was: " + newThrottle);
                }

                if (newThrottle == null && throttleRate == 0) {
                    throw new RuntimeExchangeException(
                            "The maxConcurrentRequestsExpression was evaluated as null: " + getMaximumRequestsExpression(),
                            exchange);
                }

                if (newThrottle != null) {
                    if (newThrottle != throttleRate) {
                         
                        if (throttleRate > newThrottle) {
                            int delta = throttleRate - newThrottle;

                             
                            semaphore.reducePermits(delta);
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                        newThrottle, exchange.getExchangeId());
                            }

                             
                        } else if (newThrottle > throttleRate) {
                            int delta = newThrottle - throttleRate;
                            semaphore.increasePermits(delta);
                            if (throttleRate == 0) {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle,
                                            exchange.getExchangeId());
                                }
                            } else {
                                if (LOG.isDebugEnabled()) {
                                    LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate,
                                            newThrottle, exchange.getExchangeId());
                                }
                            }
                        }
                        throttleRate = newThrottle;
                    }
                }
            } finally {
                lock.unlock();
            }
        }
Pair #3403 Negative (Non-Clone)
ID: 1163_997
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/util/ConvertingPublisher.java
Name: org.apache.camel.component.reactive.streams.util.ConvertingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
ID: 3236_2557
ClassID: 3236
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/transformer/CustomTransformerReifier.java
Name: org.apache.camel.reifier.transformer.CustomTransformerReifier.doCreateTransformer()
    protected Transformer doCreateTransformer() {
        if (definition.getRef() == null && definition.getClassName() == null) {
            throw new IllegalArgumentException("'ref' or 'className' must be specified for customTransformer");
        }
        Transformer transformer;
        String ref = parseString(definition.getRef());
        if (ref != null) {
            transformer = lookupByNameAndType(ref, Transformer.class);
            if (transformer == null) {
                throw new IllegalArgumentException("Cannot find transformer with ref:" + definition.getRef());
            }
            if (transformer.getName() != null || transformer.getFrom() != null || transformer.getTo() != null) {
                throw new IllegalArgumentException(
                        String.format("Transformer '%s' is already in use. Please check if duplicate transformer exists.",
                                definition.getRef()));
            }
        } else {
            Class<Transformer> transformerClass
                    = camelContext.getClassResolver().resolveClass(definition.getClassName(), Transformer.class);
            if (transformerClass == null) {
                throw new IllegalArgumentException("Cannot find transformer class: " + definition.getClassName());
            }
             
            transformer = camelContext.getInjector().newInstance(transformerClass, false);  
        }
        transformer.setCamelContext(camelContext);
        return transformer.setName(definition.getScheme(), definition.getName()).setFrom(definition.getFromType())
                .setTo(definition.getToType());
    }
Pair #3404 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 909_787
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateDownloadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateDownloadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateDownloadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateDownloadUrlRequest.class);
            response = client.generateDownloadUrl(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            GenerateDownloadUrlRequest request = GenerateDownloadUrlRequest.newBuilder().setName(cfName.toString())
                    .build();
            response = client.generateDownloadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getDownloadUrl());
    }
Pair #3405 Negative (Non-Clone)
ID: 112_106
ClassID: 112
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        try {
            RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), "netty-http");

             
            if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
                setProperties(this, config.getComponentProperties());
            }
        } catch (IllegalArgumentException e) {
             
             
             
        }
    }
ID: 24_37
ClassID: 24
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.getExchanges(int limit, Predicate filter)
    public List<Exchange> getExchanges(int limit, Predicate filter) {
        if (queueBrowseStrategy == null) {
            return Collections.emptyList();
        }
        String queue = getDestinationName();
        JmsOperations template = getConfiguration().createInOnlyTemplate(this, false, queue);
        List<Exchange> list = queueBrowseStrategy.browse(template, queue, this, limit);
        if (filter != null) {
            list = (List<Exchange>) list.stream().filter(filter).collect(Collectors.toList());
        }
        return list;
    }
Pair #3406 Negative (Non-Clone)
ID: 2470_2001
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getFrom(Row r)
    protected String getFrom(Row r) {
        String u = r.from;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 337_380
ClassID: 337
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/consumer/support/batching/KafkaRecordBatchingProcessor.java
Name: org.apache.camel.component.kafka.consumer.support.batching.KafkaRecordBatchingProcessor.autoCommitResultProcessing(KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges)
    private ProcessingResult autoCommitResultProcessing(
            KafkaConsumer camelKafkaConsumer, Exchange exchange, java.util.List<Exchange> exchanges) {
        ExceptionHandler exceptionHandler = camelKafkaConsumer.getExceptionHandler();
        CommitSynchronization commitSynchronization = new CommitSynchronization(exceptionHandler, exchanges.size());
        exchange.getExchangeExtension().addOnCompletion(commitSynchronization);
        try {
            processor.process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
             
             
            if (configuration.isBreakOnFirstError()) {
                 
                Exchange firstExchange = exchanges.isEmpty() ? null : exchanges.get(0);
                if (firstExchange != null) {
                    Message message = firstExchange.getMessage();
                    String topic = (String) message.getHeader(KafkaConstants.TOPIC);
                    Integer partition = (Integer) message.getHeader(KafkaConstants.PARTITION);
                    Long offset = (Long) message.getHeader(KafkaConstants.OFFSET);
                    if (topic != null && partition != null && offset != null) {
                        return new ProcessingResult(true, true, topic, partition, offset);
                    }
                }
                 
                return new ProcessingResult(true, true);
            }
             
        }
        return ProcessingResult.newUnprocessed();
    }
Pair #3407 Negative (Non-Clone)
ID: 1070_924
ClassID: 1070
File: systems/camel-java/components/camel-dfdl/src/main/java/org/apache/camel/dataformat/dfdl/DfdlDataFormat.java
Name: org.apache.camel.dataformat.dfdl.DfdlDataFormat.doInit()
    public void doInit() throws Exception {
        super.doInit();
        ProcessorFactory processorFactory;
        Resource schemaResource = ResourceHelper.resolveMandatoryResource(getCamelContext(), getSchemaUri());
        if (getRootElement() != null && !getRootElement().isEmpty() &&
                getRootNamespace() != null && !getRootNamespace().isEmpty()) {
            processorFactory
                    = Daffodil.compiler().compileSource(schemaResource.getURI(), getRootElement(), getRootNamespace());
        } else {
            processorFactory = Daffodil.compiler().compileSource(schemaResource.getURI());
        }
        if (processorFactory.isError()) {
            StringBuilder buf = new StringBuilder("Failed to start dfdl dataformat: [");
            for (Diagnostic d : processorFactory.getDiagnostics()) {
                buf.append(d.getMessage()).append("; ");
            }
            buf.append("]");
            throw new IOException(buf.toString());
        }
        this.daffodilProcessor = processorFactory.onPath("/");
    }
ID: 2270_1791
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.doInit()
    protected void doInit() throws Exception {
        super.doInit();

         
        if (getEndpoint().isSharedEntityManager()) {
            this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
        } else {
            this.entityManager = entityManagerFactory.createEntityManager();
        }
        LOG.trace("Created EntityManager {} on {}", entityManager, this);
    }
Pair #3408 Negative (Non-Clone)
ID: 188_200
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportResults(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportResults(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        final String instanceId = getParameter(INSTANCE_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportResults(reportId, instanceId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
Pair #3409 Negative (Non-Clone)
ID: 701_642
ClassID: 701
File: systems/camel-java/components/camel-jslt/src/main/java/org/apache/camel/component/jslt/JsltComponent.java
Name: org.apache.camel.component.jslt.JsltComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        JsltEndpoint answer = new JsltEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
ID: 658_590
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/UserProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.UserProducer.messageToUser(Message message)
    private User messageToUser(Message message) {
        User project = message.getBody(User.class);

        if (project == null) {
            Map headers = message.getHeaders();
            UserBuilder builder = Builders.user();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PASSWORD)) {
                builder.password(message.getHeader(KeystoneConstants.PASSWORD, String.class));
            }

            if (headers.containsKey(KeystoneConstants.EMAIL)) {
                builder.email(message.getHeader(KeystoneConstants.EMAIL, String.class));
            }

            project = builder.build();
        }
        return project;
    }
Pair #3410 Negative (Non-Clone)
ID: 1856_1513
ClassID: 1856
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.importKey(byte[] keyData, KeyFormat format, String algorithm)
    public KeyPair importKey(byte[] keyData, KeyFormat format, String algorithm) throws Exception {
         
        try {
            PrivateKey privateKey = KeyFormatConverter.importPrivateKey(keyData, format, getAlgorithmName(algorithm));
            LOG.warn("Importing private key only - public key derivation may be needed");
            return new KeyPair(null, privateKey);
        } catch (Exception e) {
             
            PublicKey publicKey = KeyFormatConverter.importPublicKey(keyData, format, getAlgorithmName(algorithm));
            return new KeyPair(publicKey, null);
        }
    }
ID: 3223_2511
ClassID: 3223
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) {
        ObjectHelper.notNull(left, "left node", this);
        ObjectHelper.notNull(right, "right node", this);

        final Expression leftExp = left.createExpression(camelContext, expression);
        final Expression rightExp = right.createExpression(camelContext, expression);

        if (operator == LogicalOperatorType.AND) {
            return createAndExpression(leftExp, rightExp);
        } else if (operator == LogicalOperatorType.OR) {
            return createOrExpression(leftExp, rightExp);
        }

        throw new SimpleParserException("Unknown logical operator " + operator, token.getIndex());
    }
Pair #3411 Negative (Non-Clone)
ID: 488_520
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/generated/java/org/apache/camel/component/cxf/converter/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.converter.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.cxf.message.MessageContentsList.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toString((org.apache.cxf.message.MessageContentsList) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3412 Negative (Non-Clone)
ID: 127_119
ClassID: 127
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
Name: org.apache.camel.component.resilience4j.ResilienceConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        List<ResilienceProcessor> cbs = new ArrayList<>();
        for (Route route : getCamelContext().getRoutes()) {
            List<Processor> list = route.filter("*");
            for (Processor p : list) {
                if (p instanceof ResilienceProcessor) {
                    cbs.add((ResilienceProcessor) p);
                }
            }
        }
         
        cbs.sort(Comparator.comparing(ResilienceProcessor::getId));

        final List<JsonObject> list = new ArrayList<>();
        for (ResilienceProcessor cb : cbs) {
            JsonObject jo = new JsonObject();
            jo.put("id", cb.getId());
            jo.put("routeId", cb.getRouteId());
            jo.put("state", cb.getCircuitBreakerState());
            jo.put("bufferedCalls", cb.getNumberOfBufferedCalls());
            jo.put("successfulCalls", cb.getNumberOfSuccessfulCalls());
            jo.put("failedCalls", cb.getNumberOfFailedCalls());
            jo.put("notPermittedCalls", cb.getNumberOfNotPermittedCalls());
            jo.put("failureRate", cb.getFailureRate());
            list.add(jo);
        }
        root.put("circuitBreakers", list);

        return root;
    }
ID: 3101_2376
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointProducerBuilder != null) {
            return endpointProducerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
Pair #3413 Negative (Non-Clone)
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
Pair #3414 Negative (Non-Clone)
ID: 1247_1077
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.matches(CamelContext context, Object body)
    public boolean matches(CamelContext context, Object body) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return matches(dummy);
        } finally {
             
            exchange.remove();
        }
    }
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3415 Negative (Non-Clone)
ID: 1573_1388
ClassID: 1573
File: systems/camel-java/components/camel-solr/src/generated/java/org/apache/camel/component/solr/converter/SolrRequestConverterLoader.java
Name: org.apache.camel.component.solr.converter.SolrRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.apache.solr.client.solrj.request.ContentStreamUpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createContentStreamUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.QueryRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createQueryRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.SolrPing.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createSolrPing(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.solr.client.solrj.request.UpdateRequest.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.solr.converter.SolrRequestConverter.createUpdateRequest(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
Pair #3416 Negative (Non-Clone)
ID: 1147_986
ClassID: 1147
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/OpenTelemetryComponent.java
Name: org.apache.camel.opentelemetry.metrics.OpenTelemetryComponent.doInit()
    protected void doInit() throws Exception {
        super.doInit();
        if (meter == null) {
            this.meter = CamelContextHelper.findSingleByType(getCamelContext(), Meter.class);
        }
        if (meter == null) {
             
            this.meter = GlobalOpenTelemetry.get().getMeter("camel");
        }
        if (meter == null) {
            throw new RuntimeCamelException("Could not find any OpenTelemetry meter!");
        }
    }
ID: 683_618
ClassID: 683
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryRoutePolicy.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            meter, it.getCamelContext(), it, getNamingStrategy(), configuration, timeUnit, longTaskTimeUnit);
                });
    }
Pair #3417 Negative (Non-Clone)
ID: 1031_880
ClassID: 1031
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpHelper.java
Name: org.apache.camel.component.netty.http.NettyHttpHelper.createURI(Exchange exchange, String url)
    public static URI createURI(Exchange exchange, String url) throws URISyntaxException {
        URI uri = new URI(url);

         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(NettyHttpConstants.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(NettyHttpConstants.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
             
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            if (ObjectHelper.isEmpty(uri.getPath())) {
                 
                uri = new URI(url + "/");
            }

            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 1310_1177
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).list();
        }
        prepareOutboundMessage(exchange, servicesList.getItems());
    }
Pair #3418 Negative (Non-Clone)
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
ID: 464_491
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
Name: org.apache.camel.component.google.mail.internal.GoogleMailApiCollection.getEndpointConfiguration(GoogleMailApiName apiName)
    public GoogleMailConfiguration getEndpointConfiguration(GoogleMailApiName apiName) {
        GoogleMailConfiguration result = null;
        switch (apiName) {
            case THREADS:
                result = new GmailUsersThreadsEndpointConfiguration();
                break;
            case MESSAGES:
                result = new GmailUsersMessagesEndpointConfiguration();
                break;
            case ATTACHMENTS:
                result = new GmailUsersMessagesAttachmentsEndpointConfiguration();
                break;
            case LABELS:
                result = new GmailUsersLabelsEndpointConfiguration();
                break;
            case HISTORY:
                result = new GmailUsersHistoryEndpointConfiguration();
                break;
            case DRAFTS:
                result = new GmailUsersDraftsEndpointConfiguration();
                break;
            case USERS:
                result = new GmailUsersEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3419 Negative (Non-Clone)
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
ID: 1059_908
ClassID: 1059
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/SantuarioUtil.java
Name: org.apache.camel.component.xmlsecurity.processor.SantuarioUtil.initializeSantuario()
    public static void initializeSantuario() {
         
        boolean wasSet = false;
        try {
             
            String lineBreakPropName = "org.apache.xml.security.ignoreLineBreaks";
            if (System.getProperty(lineBreakPropName) == null) {
                System.setProperty(lineBreakPropName, "true");
                wasSet = false;
            } else {
                wasSet = true;
            }
        } catch (Exception t) {
             
        }

        org.apache.xml.security.Init.init();

        if (!wasSet) {
            try {
                Field f = XMLUtils.class.getDeclaredField("ignoreLineBreaks");
                f.setAccessible(true);
                f.set(null, Boolean.TRUE);
            } catch (Exception t) {
                 
            }
        }
    }
Pair #3420 Negative (Non-Clone)
ID: 2231_1751
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteTag(String operation)
    protected void doDeleteTag(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getTagName())) {
            throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
        }
        try {
            git.tagDelete().setTags(endpoint.getTagName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2475_2017
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.doCallLocal(boolean autoDump)
    private Integer doCallLocal(boolean autoDump) throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeReceiveData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    if (!showStatus(outputFile)) {
                         
                        return;
                    }
                    if (autoDump) {
                        doDumpCall();
                    }
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await();

        return exit;
    }
Pair #3421 Negative (Non-Clone)
ID: 3296_2706
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.shutdown()
    public void shutdown() {
        lock.lock();
        try {
            if (status == SHUTDOWN) {
                logger().trace("Service: {} already shutdown", this);
                return;
            }
            if (status == SHUTTING_DOWN) {
                logger().trace("Service: {} already shutting down", this);
                return;
            }
            stop();
            status = SHUTDOWN;
            logger().trace("Shutting down service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doShutdown();
                logger().trace("Shutdown service: {}", this);
                status = SHUTDOWN;
            } catch (Exception e) {
                logger().trace("Error shutting down service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
ID: 18_22
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulSessionProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulSessionProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulSessionProducer target = (org.apache.camel.component.consul.endpoint.ConsulSessionProducer) obj;
        switch (key) {
        case "create":
        case "CREATE": target.create(exchange.getMessage()); return null;
        case "destroy":
        case "DESTROY": target.destroy(exchange.getMessage()); return null;
        case "info":
        case "INFO": target.info(exchange.getMessage()); return null;
        case "list":
        case "LIST": target.list(exchange.getMessage()); return null;
        case "renew":
        case "RENEW": target.renew(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3422 Negative (Non-Clone)
ID: 3278_2666
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThan(final Expression left, final Expression right)
    public static Predicate isGreaterThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) > 0;
            }

            protected String getOperationText() {
                return ">";
            }
        };
    }
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
Pair #3423 Negative (Non-Clone)
ID: 1780_1462
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpSocketConsumerRunnable.TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer, Hl7Util hl7Util, boolean logPhi)
    public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
                                     Hl7Util hl7Util, boolean logPhi) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;
        this.hl7Util = hl7Util;
        this.logPhi = logPhi;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 897_751
ClassID: 897
File: systems/camel-java/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
Name: org.apache.camel.component.slack.SlackConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #3424 Negative (Non-Clone)
ID: 2504_2049
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDisplayName(JsonNode node)
        public AnnotationBuilder withDisplayName(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDisplayName(node.asText());
        }
ID: 644_574
ClassID: 644
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
Name: org.apache.camel.component.atmosphere.websocket.WebsocketConsumer.getQueryMap(String query)
    private Map<String, String> getQueryMap(String query) {
        Map<String, String> map = new HashMap<>();
        if (query != null) {
            String[] params = query.split("&");
            for (String param : params) {
                String[] nameval = param.split("=");
                map.put(nameval[0], nameval[1]);
            }
        }
        return map;
    }
Pair #3425 Negative (Non-Clone)
ID: 179_164
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, queryJobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
ID: 1240_1062
ClassID: 1240
File: systems/camel-java/components/camel-dns/src/generated/java/org/apache/camel/component/dns/types/DnsConverterLoader.java
Name: org.apache.camel.component.dns.types.DnsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, java.net.InetAddress.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((java.net.InetAddress) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Address.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Address) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.xbill.DNS.Record.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toString((org.xbill.DNS.Record) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.net.InetAddress.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toInetAddress((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.util.List.class, org.xbill.DNS.Record[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.dns.types.DnsConverter.toList((org.xbill.DNS.Record[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3426 Negative (Non-Clone)
ID: 2295_1813
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2362_1854
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void getIngestionJob(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof GetIngestionJobRequest) {
                GetIngestionJobResponse result;
                try {
                    result = bedrockAgentClient.getIngestionJob((GetIngestionJobRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Get Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareGetIngestionJobResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            String ingestionJobId;
            GetIngestionJobRequest.Builder builder = GetIngestionJobRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getIngestionJobId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID))) {
                    ingestionJobId = exchange.getMessage().getHeader(BedrockAgentConstants.INGESTION_JOB_ID, String.class);
                } else {
                    throw new IllegalArgumentException("IngestionJobId must be specified");
                }
            } else {
                ingestionJobId = getConfiguration().getIngestionJobId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            builder.ingestionJobId(ingestionJobId);
            GetIngestionJobResponse output = bedrockAgentClient.getIngestionJob(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareGetIngestionJobResponse(output, message);
        }
    }
Pair #3427 Negative (Non-Clone)
ID: 635_566
ClassID: 635
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
Name: org.apache.camel.component.quartz.QuartzComponent.getSchedulerFactory()
    public SchedulerFactory getSchedulerFactory() {
        if (schedulerFactory == null) {
            try {
                schedulerFactory = createSchedulerFactory();
            } catch (SchedulerException e) {
                throw new RuntimeException(e);
            }
        }
        return schedulerFactory;
    }
ID: 2557_2127
ClassID: 2557
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
Name: org.apache.camel.parser.helper.XmlLineNumberParser.addTextIfNeeded()
            private void addTextIfNeeded() {
                if (textBuffer.length() > 0) {
                    final Element el = elementStack.isEmpty() ? null : elementStack.peek();
                    if (el != null) {
                        final Node textNode = doc.createTextNode(textBuffer.toString());
                        el.appendChild(textNode);
                        textBuffer.delete(0, textBuffer.length());
                    }
                }
            }
Pair #3428 Negative (Non-Clone)
ID: 182_172
ClassID: 182
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultCompositeSObjectCollectionsApiClient.tryToReadListResponse(final Class<T> expectedType, final InputStream responseStream)
    private <T> Optional<List<T>> tryToReadListResponse(
            final Class<T> expectedType, final InputStream responseStream) {
        if (responseStream == null) {
            return Optional.empty();
        }
        try {
            return Optional.of(fromJsonList(expectedType, responseStream));
        } catch (IOException e) {
            log.warn("Unable to read response from the Composite API", e);
            return Optional.empty();
        } finally {
            IOHelper.close(responseStream);
        }
    }
ID: 893_743
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbEndpoint.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbEndpoint.getClient()
    public WeaviateClient getClient() throws AuthException {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #3429 Negative (Non-Clone)
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 1062_915
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles)
    public void setSignerCertifiedRoles(List<XAdESEncapsulatedPKIData> signerCertifiedRoles) {
        if (signerCertifiedRoles == null) {
            throw new IllegalArgumentException("Parameter 'signerCertifiedRoles' is null");
        }
        for (XAdESEncapsulatedPKIData role : signerCertifiedRoles) {
            if (role == null) {
                throw new IllegalArgumentException("At least one of the signer certified roles is null");
            }
        }
        this.signerCertifiedRoles = new ArrayList<>(signerCertifiedRoles);
    }
Pair #3430 Negative (Non-Clone)
ID: 1009_872
ClassID: 1009
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Index.java
Name: org.apache.camel.component.olingo4.Olingo4Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ClientEntitySet) {
            response = filter((ClientEntitySet) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else {
            response = filter(response);
        }

        return response;
    }
ID: 2049_1666
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #3431 Negative (Non-Clone)
ID: 194_220
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponse(final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponse(
            final Exchange exchange, final Optional<SObjectCompositeResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectCompositeResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 2574_2161
ClassID: 2574
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangMojo.asDefaultValue(String type, String defaultValue)
    private static Object asDefaultValue(String type, String defaultValue) {
        if (defaultValue != null) {
            if ("boolean".equals(type)) {
                return Boolean.parseBoolean(defaultValue);
            } else if ("integer".equals(type)) {
                return Integer.parseInt(defaultValue);
            }
        }
        if (defaultValue == null && "boolean".equals(type)) {
            return "false";
        }
        return defaultValue;
    }
Pair #3432 Negative (Non-Clone)
ID: 692_632
ClassID: 692
File: systems/camel-java/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
Name: org.apache.camel.processor.lucene.LuceneQueryProcessor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Hits hits;

        String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class);
        String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class);
        boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true");

        if (phrase != null) {
            searcher = new LuceneSearcher();
            searcher.open(indexDirectory, analyzer);
            hits = searcher.search(phrase, maxNumberOfHits, totalHitsThreshold, isReturnLuceneDocs);
        } else {
            throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
        }

        exchange.getIn().setBody(hits);
    }
ID: 3293_2697
ClassID: 3293
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextServerParameters.java
Name: org.apache.camel.support.jsse.SSLContextServerParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers
                = super.getSSLServerSocketFactorySSLServerSocketConfigurers(context);

        if (this.getClientAuthentication() != null) {

            final ClientAuthentication clientAuthValue
                    = ClientAuthentication.valueOf(this.parsePropertyValue(this.getClientAuthentication()));

            Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {
                @Override
                public SSLServerSocket configure(SSLServerSocket socket) {
                    LOG.trace("Configuring client-auth on SSLServerSocket [{}] to [{}].", socket, clientAuthValue);
                    switch (clientAuthValue) {
                        case NONE:
                            socket.setWantClientAuth(false);
                            socket.setNeedClientAuth(false);
                            break;
                        case WANT:
                            socket.setWantClientAuth(true);
                            break;
                        case REQUIRE:
                            socket.setNeedClientAuth(true);
                            break;
                        default:
                            throw new RuntimeCamelException("Unknown ClientAuthentication value: " + clientAuthValue);
                    }

                    return socket;
                }
            };

            sslServerSocketConfigurers.add(sslServerSocketConfigurer);
        }

        return sslServerSocketConfigurers;
    }
Pair #3433 Negative (Non-Clone)
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
ID: 248_320
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubProducerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubProducerAsyncClient createEventHubProducerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncProducerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncProducerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncProducerClient();
    }
Pair #3434 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2613_2257
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/PGPDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.PGPDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("keyUserid", definition.getKeyUserid());
        properties.put("signatureKeyUserid", definition.getSignatureKeyUserid());
        properties.put("password", definition.getPassword());
        properties.put("signaturePassword", definition.getSignaturePassword());
        properties.put("keyFileName", definition.getKeyFileName());
        properties.put("signatureKeyFileName", definition.getSignatureKeyFileName());
        properties.put("signatureKeyRing", definition.getSignatureKeyRing());
        properties.put("armored", definition.getArmored());
        properties.put("integrity", definition.getIntegrity());
        properties.put("provider", definition.getProvider());
        properties.put("algorithm", definition.getAlgorithm());
        properties.put("compressionAlgorithm", definition.getCompressionAlgorithm());
        properties.put("hashAlgorithm", definition.getHashAlgorithm());
        properties.put("signatureVerificationOption", definition.getSignatureVerificationOption());
    }
Pair #3435 Negative (Non-Clone)
ID: 658_592
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/FlavorsProducer.java
Name: org.apache.camel.component.openstack.nova.producer.FlavorsProducer.messageToFlavor(Message message)
    private org.openstack4j.model.compute.Flavor messageToFlavor(Message message) {
        Flavor flavor = message.getBody(Flavor.class);
        if (flavor == null) {
            Map headers = message.getHeaders();
            FlavorBuilder flavorBuilder = Builders.flavor();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            flavorBuilder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.VCPU)) {
                flavorBuilder.vcpus(message.getHeader(NovaConstants.VCPU, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RAM)) {
                flavorBuilder.ram(message.getHeader(NovaConstants.RAM, Integer.class));
            }

            if (headers.containsKey(NovaConstants.DISK)) {
                flavorBuilder.disk(message.getHeader(NovaConstants.DISK, Integer.class));
            }

            if (headers.containsKey(NovaConstants.SWAP)) {
                flavorBuilder.swap(message.getHeader(NovaConstants.SWAP, Integer.class));
            }

            if (headers.containsKey(NovaConstants.RXTXFACTOR)) {
                flavorBuilder.rxtxFactor(message.getHeader(NovaConstants.RXTXFACTOR, Integer.class));
            }

            flavor = flavorBuilder.build();
        }

        return flavor;
    }
ID: 662_597
ClassID: 662
File: systems/camel-java/components/camel-jq/src/main/java/org/apache/camel/language/jq/JqAnnotationExpressionFactory.java
Name: org.apache.camel.language.jq.JqAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
Pair #3436 Negative (Non-Clone)
ID: 1854_1508
ClassID: 1854
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKeyToPEM(PublicKey publicKey)
    private static byte[] exportPublicKeyToPEM(PublicKey publicKey) throws Exception {
        byte[] encoded = publicKey.getEncoded();
        String base64 = Base64.getEncoder().encodeToString(encoded);

         
        StringBuilder pem = new StringBuilder();
        pem.append("-----BEGIN PUBLIC KEY-----\n");
        for (int i = 0; i < base64.length(); i += 64) {
            pem.append(base64, i, Math.min(i + 64, base64.length())).append("\n");
        }
        pem.append("-----END PUBLIC KEY-----\n");
        return pem.toString().getBytes();
    }
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
Pair #3437 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 3233_2550
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseExpression()
    public Expression parseExpression() {
        try {
            parseTokens();
            return doParseExpression();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #3438 Negative (Non-Clone)
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3439 Negative (Non-Clone)
ID: 2576_2164
ClassID: 2576
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.asJsonObject(DataTypeTransformerModel model)
    private JsonObject asJsonObject(DataTypeTransformerModel model) {
        JsonObject jo = new JsonObject();
         
        jo.put("kind", "transformer");
        jo.put("name", model.getName());
        jo.put("title", asTitle(model.getName()));
        if (model.getDescription() != null) {
            jo.put("description", model.getDescription());
        }
        jo.put("deprecated", model.isDeprecated());
        jo.put("javaType", model.getClassName());
        if (model.getFrom() != null) {
            jo.put("from", model.getFrom());
        }
        if (model.getTo() != null) {
            jo.put("to", model.getTo());
        }
        jo.put("groupId", project.getGroupId());
        jo.put("artifactId", project.getArtifactId());
        jo.put("version", project.getVersion());
        JsonObject root = new JsonObject();
        root.put("transformer", jo);
        return root;
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #3440 Negative (Non-Clone)
ID: 1217_1044
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprStateHandler.java
Name: org.apache.camel.component.dapr.operations.DaprStateHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        StateOperation stateOperation = configurationOptionsProxy.getStateOperation(exchange);
        DaprClient client = endpoint.getClient();

        switch (stateOperation) {
            case save:
                return saveState(exchange, client);
            case saveBulk:
                return saveBulkState(exchange, client);
            case get:
                return getState(exchange, client);
            case getBulk:
                return getBulkState(exchange, client);
            case delete:
                return deleteState(exchange, client);
            case executeTransaction:
                return executeStateTransaction(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported state operation");
        }
    }
ID: 1309_1174
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesConsumer.java
Name: org.apache.camel.component.kubernetes.nodes.KubernetesNodesConsumer.eventReceived(Action action, Node resource)
                public void eventReceived(Action action, Node resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3441 Negative (Non-Clone)
ID: 219_242
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setCosmosDatabaseResponseOnExchange(final Exchange exchange)
    private Consumer<CosmosDatabaseResponse> setCosmosDatabaseResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.RESOURCE_ID, response.getProperties().getResourceId());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3442 Negative (Non-Clone)
ID: 1041_902
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Name: org.apache.camel.component.xslt.XsltEndpoint.loadResource(String resourceUri, XsltBuilder xslt)
    protected void loadResource(String resourceUri, XsltBuilder xslt) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
         
        cacheCleared = false;
    }
ID: 1479_1319
ClassID: 1479
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        return Mono.<Exchange> create(
                sink -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        sink.success(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        sink.error(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, ReactorStreamsConstants.EMPTY_ASYNC_CALLBACK));
    }
Pair #3443 Negative (Non-Clone)
ID: 2480_2030
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routeGroups");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.group = o.getString("group");
                            row.size = o.getInteger("size");
                            row.routeIds = o.getCollection("routeIds");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        match = PatternHelper.matchPattern(row.group, f);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 32_54
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t)
    private void handleResult(EntryInfo.CachedEntryInfo entryInfo, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entryInfo, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entryInfo, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
Pair #3444 Negative (Non-Clone)
ID: 1863_1534
ClassID: 1863
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getDefaultParameterSpec(String algorithm)
    private AlgorithmParameterSpec getDefaultParameterSpec(String algorithm) {
         
        try {
            switch (algorithm) {
                case "DILITHIUM":
                    return org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec.dilithium2;
                case "MLDSA":
                case "SLHDSA":
                     
                    return null;
                case "FALCON":
                    return org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec.falcon_512;
                case "SPHINCSPLUS":
                    return org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec.sha2_128s;
                case "XMSS":
                    return new org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec(
                            10,
                            org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec.SHA256);
                case "XMSSMT":
                    return org.bouncycastle.pqc.jcajce.spec.XMSSMTParameterSpec.XMSSMT_SHA2_20d2_256;
                case "LMS":
                case "HSS":
                    return new org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec(
                            org.bouncycastle.pqc.crypto.lms.LMSigParameters.lms_sha256_n32_h10,
                            org.bouncycastle.pqc.crypto.lms.LMOtsParameters.sha256_n32_w4);
                case "MLKEM":
                case "KYBER":
                     
                    return null;
                case "NTRU":
                    return org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec.ntruhps2048509;
                case "NTRULPRime":
                    return org.bouncycastle.pqc.jcajce.spec.NTRULPRimeParameterSpec.ntrulpr653;
                case "SNTRUPrime":
                    return org.bouncycastle.pqc.jcajce.spec.SNTRUPrimeParameterSpec.sntrup761;
                case "SABER":
                    return org.bouncycastle.pqc.jcajce.spec.SABERParameterSpec.lightsaberkem128r3;
                case "FRODO":
                    return org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec.frodokem640aes;
                case "BIKE":
                    return org.bouncycastle.pqc.jcajce.spec.BIKEParameterSpec.bike128;
                case "HQC":
                    return org.bouncycastle.pqc.jcajce.spec.HQCParameterSpec.hqc128;
                case "CMCE":
                    return org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec.mceliece348864;
                default:
                    return null;
            }
        } catch (Exception e) {
            LOG.warn("Failed to create default parameter spec for algorithm: {}", algorithm, e);
            return null;
        }
    }
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3445 Negative (Non-Clone)
ID: 192_214
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback)
    private void processGetSobjectWithId(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        Object oldValue = null;
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, USE_BODY, NOT_OPTIONAL);
        }

         
        setResponseClass(exchange);

        final Object finalOldValue = oldValue;
        restClient.getSObjectWithId(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
ID: 258_338
ClassID: 258
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/operations/BlobContainerOperations.java
Name: org.apache.camel.component.azure.storage.blob.operations.BlobContainerOperations.listBlobs(final Exchange exchange)
    public BlobOperationResponse listBlobs(final Exchange exchange) {
        final ListBlobsOptions listBlobOptions = configurationProxy.getListBlobOptions(exchange);
        final Duration timeout = configurationProxy.getTimeout(exchange);
        final String regex = configurationProxy.getRegex(exchange);
        List<BlobItem> blobs = client.listBlobs(listBlobOptions, timeout);
        if (ObjectHelper.isEmpty(regex)) {
            return BlobOperationResponse.create(blobs);
        }
        List<BlobItem> filteredBlobs = blobs.stream()
                .filter(x -> x.getName().matches(regex))
                .collect(Collectors.toCollection(LinkedList<BlobItem>::new));
        return BlobOperationResponse.create(filteredBlobs);
    }
Pair #3446 Negative (Non-Clone)
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 1310_1186
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentList deploymentsList;

        if (ObjectHelper.isEmpty(namespace)) {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace().list();
        } else {
            deploymentsList = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, deploymentsList.getItems());
    }
Pair #3447 Negative (Non-Clone)
ID: 766_694
ClassID: 766
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getPronunciation(Exchange exchange)
    private void getPronunciation(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String word = exchange.getIn().getHeader(WatsonTextToSpeechConstants.WORD, String.class);
        if (word == null) {
            word = exchange.getIn().getBody(String.class);
        }

        if (word == null || word.isBlank()) {
            throw new IllegalArgumentException("Word must be specified");
        }

        String voice = exchange.getIn().getHeader(WatsonTextToSpeechConstants.VOICE,
                getEndpoint().getConfiguration().getVoice(), String.class);
        String format = exchange.getIn().getHeader(WatsonTextToSpeechConstants.FORMAT, String.class);

        LOG.trace("Getting pronunciation for word: {}, voice: {}, format: {}", word, voice, format);

        GetPronunciationOptions.Builder builder = new GetPronunciationOptions.Builder()
                .text(word)
                .voice(voice);

        if (format != null && !format.isBlank()) {
            builder.format(format);
        }

        GetPronunciationOptions options = builder.build();
        Pronunciation pronunciation = tts.getPronunciation(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(pronunciation);
    }
ID: 1427_1278
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7SignatureEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7SignatureEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(signature);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3448 Negative (Non-Clone)
ID: 2362_1853
ClassID: 2362
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentProducer.java
Name: org.apache.camel.component.aws2.bedrock.agent.BedrockAgentProducer.listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
    private void listIngestionJobs(BedrockAgentClient bedrockAgentClient, Exchange exchange)
            throws InvalidPayloadException {
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getMessage().getMandatoryBody();
            if (payload instanceof ListIngestionJobsRequest) {
                ListIngestionJobsResponse result;
                try {
                    result = bedrockAgentClient.listIngestionJobs((ListIngestionJobsRequest) payload);
                } catch (AwsServiceException ase) {
                    LOG.trace("Start Ingestion Job command returned the error code {}", ase.awsErrorDetails().errorCode());
                    throw ase;
                }
                Message message = getMessageForResponse(exchange);
                prepareListIngestionJobsResponse(result, message);
            }
        } else {
            String knowledgeBaseId;
            String dataSourceId;
            ListIngestionJobsRequest.Builder builder = ListIngestionJobsRequest.builder();
            if (ObjectHelper.isEmpty(getConfiguration().getKnowledgeBaseId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID))) {
                    knowledgeBaseId = exchange.getIn().getHeader(BedrockAgentConstants.KNOWLEDGE_BASE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("KnowledgeBaseId must be specified");
                }
            } else {
                knowledgeBaseId = getConfiguration().getKnowledgeBaseId();
            }
            if (ObjectHelper.isEmpty(getConfiguration().getDataSourceId())) {
                if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockAgentConstants.DATASOURCE_ID))) {
                    dataSourceId = exchange.getIn().getHeader(BedrockAgentConstants.DATASOURCE_ID, String.class);
                } else {
                    throw new IllegalArgumentException("DataSourceId must be specified");
                }
            } else {
                dataSourceId = getConfiguration().getDataSourceId();
            }
            builder.knowledgeBaseId(knowledgeBaseId);
            builder.dataSourceId(dataSourceId);
            ListIngestionJobsResponse output = bedrockAgentClient.listIngestionJobs(builder.build());
            Message message = getMessageForResponse(exchange);
            prepareListIngestionJobsResponse(output, message);
        }
    }
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3449 Negative (Non-Clone)
ID: 1272_1111
ClassID: 1272
File: systems/camel-java/components/camel-dynamic-router/src/main/java/org/apache/camel/component/dynamicrouter/control/DynamicRouterControlProducer.java
Name: org.apache.camel.component.dynamicrouter.control.DynamicRouterControlProducer.performSubscribe(final Message message, AsyncCallback callback)
    public void performSubscribe(final Message message, AsyncCallback callback) {
        String filterId;
        if (message.getBody() instanceof DynamicRouterControlMessage) {
            filterId = subscribeFromMessage(dynamicRouterControlService, message, false);
        } else {
            filterId = subscribeFromHeaders(dynamicRouterControlService, message, false);
        }
        message.setBody(filterId);
        callback.done(false);
    }
ID: 1445_1303
ClassID: 1445
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.closeAllAsyncMdnServerConnections()
    public static void closeAllAsyncMdnServerConnections() {
        for (Map.Entry<Integer, AS2AsyncMDNServerConnection> entry : asyncMdnServerConnections.entrySet()) {
            try {
                int port = entry.getKey();
                LOG.debug("Stopping and closing AsyncMdnServerConnection on port: {}", port);
                entry.getValue().close();
            } catch (Exception e) {
                LOG.debug("Error stopping and closing AsyncMdnServerConnection due to {}. This exception is ignored",
                        e.getMessage(), e);
            }
        }
        asyncMdnServerConnections.clear();
    }
Pair #3450 Negative (Non-Clone)
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
ID: 558_540
ClassID: 558
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Name: org.apache.camel.management.DefaultManagementAgent.unregister(ObjectName name)
    public void unregister(ObjectName name) throws JMException {
        if (isRegistered(name)) {
            ObjectName on = mbeansRegistered.remove(name);
            server.unregisterMBean(on);
            LOG.debug("Unregistered MBean with ObjectName: {}", name);
        } else {
            mbeansRegistered.remove(name);
        }
    }
Pair #3451 Negative (Non-Clone)
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3452 Negative (Non-Clone)
ID: 34_56
ClassID: 34
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/LogWriter.java
Name: org.apache.camel.component.wal.LogWriter.tryFlush()
    private void tryFlush() {
        lock.lock();
        try {
            flush();
        } catch (IOException e) {
            LOG.error("Unable to save record: {}", e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1308_1155
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.run()
        public void run() {
            FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>> client
                        = getEndpoint().getKubernetesClient().autoscaling().v1().horizontalPodAutoscalers()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<HorizontalPodAutoscaler, HorizontalPodAutoscalerList, Resource<HorizontalPodAutoscaler>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
Pair #3453 Negative (Non-Clone)
ID: 1108_942
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-dms/src/main/java/org/apache/camel/component/huaweicloud/dms/DMSEndpoint.java
Name: org.apache.camel.component.huaweicloud.dms.DMSEndpoint.initClient()
    public DmsClient initClient() {
        if (dmsClient != null) {
            return dmsClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return DmsClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(DmsRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 3211_2484
ClassID: 3211
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
Name: org.apache.camel.impl.console.TopDevConsole.getStatsObject(ManagedProcessorMBean mpb)
    private static JsonObject getStatsObject(ManagedProcessorMBean mpb) {
        JsonObject stats = new JsonObject();
        stats.put("exchangesTotal", mpb.getExchangesTotal());
        stats.put("exchangesFailed", mpb.getExchangesFailed());
        stats.put("exchangesInflight", mpb.getExchangesInflight());
        stats.put("meanProcessingTime", mpb.getMeanProcessingTime());
        stats.put("maxProcessingTime", mpb.getMaxProcessingTime());
        stats.put("minProcessingTime", mpb.getMinProcessingTime());
        stats.put("lastProcessingTime", mpb.getLastProcessingTime());
        stats.put("deltaProcessingTime", mpb.getDeltaProcessingTime());
        stats.put("totalProcessingTime", mpb.getTotalProcessingTime());
        return stats;
    }
Pair #3454 Negative (Non-Clone)
ID: 2643_2292
ClassID: 2643
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBackOffTimer.java
Name: org.apache.camel.impl.engine.DefaultBackOffTimer.schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function)
    public Task schedule(BackOff backOff, ThrowingFunction<Task, Boolean, Exception> function) {
        final BackOffTimerTask task = new BackOffTimerTask(this, backOff, scheduler, function);

        long delay = task.next();
        if (delay != BackOff.NEVER) {
            tasks.add(task);
            scheduler.schedule(task, delay, TimeUnit.MILLISECONDS);
        } else {
            task.cancel();
        }

        return task;
    }
ID: 1434_1296
ClassID: 1434
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseEDIEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType ediMessageContentType, String contentTransferEncoding, String filename)
    public static ApplicationEntity parseEDIEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType ediMessageContentType,
            String contentTransferEncoding,
            String filename)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            Charset charset = ediMessageContentType.getCharset();
            if (charset == null) {
                charset = StandardCharsets.US_ASCII;
            }
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

            byte[] ediMessageBodyPartContentBytes
                    = parseBodyPartBytes(inbuffer, is, boundary, ediMessageContentType, contentTransferEncoding);

            return EntityUtils.createEDIEntity(ediMessageBodyPartContentBytes,
                    ediMessageContentType, contentTransferEncoding, false, filename);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse EDI entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
Pair #3455 Negative (Non-Clone)
ID: 1289_1134
ClassID: 1289
File: systems/camel-java/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Name: org.apache.camel.component.xquery.XQueryBuilder.xquery(final Reader reader)
    public static XQueryBuilder xquery(final Reader reader) {
        return new XQueryBuilder() {
            protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
                    throws XPathException, IOException {
                try {
                    return staticQueryContext.compileQuery(reader);
                } finally {
                    IOHelper.close(reader);
                }
            }
        };
    }
ID: 3110_2397
ClassID: 3110
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsAdapter.java
Name: org.apache.camel.model.app.BeanConstructorsAdapter.marshal(Map<Integer, Object> v)
    public BeanConstructorsDefinition marshal(Map<Integer, Object> v) {
        if (v == null) {
            return null;
        }
        final BeanConstructorDefinition[] result = new BeanConstructorDefinition[v.size()];
        int pos = 0;
        for (Map.Entry<Integer, Object> entry : v.entrySet()) {
            Integer idx = entry.getKey();
            Object value = entry.getValue();
            BeanConstructorDefinition pd = new BeanConstructorDefinition();
            if (idx != null) {
                pd.setIndex(idx);
            }
            pd.setValue(value.toString());
            result[pos++] = pd;
        }
        BeanConstructorsDefinition def = new BeanConstructorsDefinition();
        def.setConstructors(Arrays.asList(result));
        return def;
    }
Pair #3456 Negative (Non-Clone)
ID: 383_427
ClassID: 383
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.createReplyManager(String replyTo)
    protected ReplyManager createReplyManager(String replyTo) throws Exception {
         
        ReplyManager replyManager = new QueueReplyManager(getEndpoint().getCamelContext());
        replyManager.setEndpoint(getEndpoint());

        String name = "JmsReplyManagerTimeoutChecker[" + replyTo + "]";
        ScheduledExecutorService replyManagerScheduledExecutorService
                = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(this, name);
        replyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);

        name = "JmsReplyManagerOnTimeout[" + replyTo + "]";
         
        ExecutorService replyManagerExecutorService = createReplyManagerExecutor(replyManager, name);
        replyManager.setOnTimeoutExecutorService(replyManagerExecutorService);

        ServiceHelper.startService(replyManager);

        return replyManager;
    }
ID: 979_832
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa4_0(long old0, long active0)
private int jjMoveStringLiteralDfa4_0(long old0, long active0){
   if (((active0 &= old0)) == 0L)
      return jjStartNfa_0(2, old0);
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(3, active0);
      return 4;
   }
   switch(curChar)
   {
      case 84:
         return jjMoveStringLiteralDfa5_0(active0, 0x8L);
      default :
         break;
   }
   return jjStartNfa_0(3, active0);
}
Pair #3457 Negative (Non-Clone)
ID: 239_299
ClassID: 239
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #3458 Negative (Non-Clone)
ID: 2047_1663
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForIdempotentRename(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForIdempotentRename(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileIdempotentRenameRepositoryReadLockStrategy readLockStrategy
                = new FileIdempotentRenameRepositoryReadLockStrategy();
        Boolean readLockRemoveOnRollback = (Boolean) params.get("readLockRemoveOnRollback");
        if (readLockRemoveOnRollback != null) {
            readLockStrategy.setRemoveOnRollback(readLockRemoveOnRollback);
        }
        Boolean readLockRemoveOnCommit = (Boolean) params.get("readLockRemoveOnCommit");
        if (readLockRemoveOnCommit != null) {
            readLockStrategy.setRemoveOnCommit(readLockRemoveOnCommit);
        }
        IdempotentRepository repo = (IdempotentRepository) params.get("readLockIdempotentRepository");
        if (repo != null) {
            readLockStrategy.setIdempotentRepository(repo);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #3459 Negative (Non-Clone)
ID: 1308_1159
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.run()
        public void run() {
            FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().apps().deployments().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Deployment, DeploymentList, RollableScalableResource<Deployment>> client
                        = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Deployment, DeploymentList, RollableScalableResource<Deployment>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
Pair #3460 Negative (Non-Clone)
ID: 1305_1139
ClassID: 1305
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
Name: org.apache.camel.component.kubernetes.cluster.lock.KubernetesLeadershipController.refreshStatusBecomingLeader()
    private void refreshStatusBecomingLeader() {
         
         
         
        long delay = this.lockConfiguration.getLeaseDurationMillis();
        LOG.info("{} Current pod owns the leadership, but it will be effective in {} seconds...", logPrefix,
                new BigDecimal(delay).divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP));

        try {
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            LOG.warn("Thread interrupted", e);
            Thread.currentThread().interrupt();
        }

        LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
        this.currentState = State.LEADER;
        this.serializedExecutor.execute(this::refreshStatus);
    }
ID: 11_4
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
Pair #3461 Negative (Non-Clone)
ID: 3231_2546
ClassID: 3231
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.messageOgnlExpression(final String name, final String ognl)
    public static Expression messageOgnlExpression(final String name, final String ognl) {
        return new ExpressionAdapter() {
            private ClassResolver classResolver;
            private Expression exp;
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                String text = exp.evaluate(exchange, String.class);
                Class<?> type;
                try {
                    type = classResolver.resolveMandatoryClass(text);
                } catch (ClassNotFoundException e) {
                    throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
                }
                Object msg = exchange.getMessage(type);
                if (msg != null) {
                     
                     
                    Expression ognlExp = bean.createExpression(null, new Object[] { null, msg, ognl });
                    ognlExp.init(exchange.getContext());
                    return ognlExp.evaluate(exchange, Object.class);
                } else {
                    return null;
                }
            }

            @Override
            public void init(CamelContext context) {
                classResolver = context.getClassResolver();
                exp = ExpressionBuilder.simpleExpression(name);
                exp.init(context);
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "messageOgnlAs[" + name + "](" + ognl + ")";
            }
        };
    }
ID: 2514_2070
ClassID: 2514
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asMap(Node node)
    public static Map<String, Object> asMap(Node node) {
        if (node == null) {
            return null;
        }

        final MappingNode mn = asMappingNode(node);
        final Map<String, Object> answer = new HashMap<>();

        for (NodeTuple tuple : mn.getValue()) {
            final String key = asText(tuple.getKeyNode());
            final Node val = tuple.getValueNode();

            switch (val.getNodeType()) {
                case SCALAR:
                    answer.put(StringHelper.dashToCamelCase(key), asText(val));
                    break;
                case MAPPING:
                    answer.put(StringHelper.dashToCamelCase(key), asMap(val));
                    break;
                default:
                    throw new UnsupportedNodeTypeException(val);
            }
        }

        return answer;
    }
Pair #3462 Negative (Non-Clone)
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
ID: 241_305
ClassID: 241
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Azure Key Vault Secret Manager:");
            sb.append("\n    Login: Client Id/Client Secret");
            AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
            if (azure != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", azure.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", azure.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
Pair #3463 Negative (Non-Clone)
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3464 Negative (Non-Clone)
ID: 3336_2738
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Field field, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Field field, String fqnAnnotationName, String key) {
        for (Annotation ann : field.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3465 Negative (Non-Clone)
ID: 3255_2608
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.closeCircuit(Route route)
    protected void closeCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            failures.set(0);
            success.set(0);
            lastFailure = 0;
            openedAt = 0;
            state.set(STATE_CLOSED);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 2554_2122
ClassID: 2554
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/XmlRestDslParser.java
Name: org.apache.camel.parser.XmlRestDslParser.parseRestService(InputStream xml, String fullyQualifiedFileName)
    public static List<RestServiceDetails> parseRestService(InputStream xml, String fullyQualifiedFileName) {

         
        Document dom = null;
        try {
            dom = XmlLineNumberParser.parseXml(xml);
        } catch (Exception e) {
             
        }
        if (dom != null) {
            CamelXmlRestDslParserHelper parser = new CamelXmlRestDslParserHelper();
            return parser.parseRestService(dom, fullyQualifiedFileName);
        }

        return Collections.emptyList();
    }
Pair #3466 Negative (Non-Clone)
ID: 2555_2124
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestVerbDetails detail)
    private static void extractAttributes(Node xmlNode, RestVerbDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setPath(extractAttribute(map, "path"));
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setType(extractAttribute(map, "type"));
        detail.setOutType(extractAttribute(map, "outType"));
    }
ID: 1485_1325
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/KeySharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.KeySharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Key_Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
Pair #3467 Negative (Non-Clone)
ID: 3282_2673
ClassID: 3282
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/SingleInputTypedLanguageSupport.java
Name: org.apache.camel.support.SingleInputTypedLanguageSupport.createExpression(String expression, Object[] properties)
    public Expression createExpression(String expression, Object[] properties) {
        if (expression != null && isStaticResource(expression)) {
            expression = loadResource(expression);
        }

        Class<?> type = property(Class.class, properties, 0, null);
        String source = property(String.class, properties, 1, null);
        Expression input = ExpressionBuilder.singleInputExpression(source);
        if (getCamelContext() != null) {
            input.init(getCamelContext());
        }
        if (type == null || type == Object.class || !supportResultType()) {
            return createExpression(input, expression, properties);
        }
        return ExpressionBuilder.convertToExpression(createExpression(input, expression, properties), type);
    }
ID: 2512_2065
ClassID: 2512
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
Name: org.apache.camel.dsl.yaml.deserializers.ModelDeserializers.setProperty(DataFormatTransformerDefinition target, String propertyKey, String propertyName, Node node)
        protected boolean setProperty(DataFormatTransformerDefinition target, String propertyKey,
                String propertyName, Node node) {
            propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
            switch(propertyKey) {
                case "dataFormatType": {
                    MappingNode val = asMappingNode(node);
                    setProperties(target, val);
                    break;
                }
                case "asn1": {
                    org.apache.camel.model.dataformat.ASN1DataFormat val = asType(node, org.apache.camel.model.dataformat.ASN1DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "avro": {
                    org.apache.camel.model.dataformat.AvroDataFormat val = asType(node, org.apache.camel.model.dataformat.AvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "barcode": {
                    org.apache.camel.model.dataformat.BarcodeDataFormat val = asType(node, org.apache.camel.model.dataformat.BarcodeDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "base64": {
                    org.apache.camel.model.dataformat.Base64DataFormat val = asType(node, org.apache.camel.model.dataformat.Base64DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "beanio": {
                    org.apache.camel.model.dataformat.BeanioDataFormat val = asType(node, org.apache.camel.model.dataformat.BeanioDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "bindy": {
                    org.apache.camel.model.dataformat.BindyDataFormat val = asType(node, org.apache.camel.model.dataformat.BindyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "cbor": {
                    org.apache.camel.model.dataformat.CBORDataFormat val = asType(node, org.apache.camel.model.dataformat.CBORDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "crypto": {
                    org.apache.camel.model.dataformat.CryptoDataFormat val = asType(node, org.apache.camel.model.dataformat.CryptoDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "csv": {
                    org.apache.camel.model.dataformat.CsvDataFormat val = asType(node, org.apache.camel.model.dataformat.CsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "custom": {
                    org.apache.camel.model.dataformat.CustomDataFormat val = asType(node, org.apache.camel.model.dataformat.CustomDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "dfdl": {
                    org.apache.camel.model.dataformat.DfdlDataFormat val = asType(node, org.apache.camel.model.dataformat.DfdlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirJson": {
                    org.apache.camel.model.dataformat.FhirJsonDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirJsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fhirXml": {
                    org.apache.camel.model.dataformat.FhirXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.FhirXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "flatpack": {
                    org.apache.camel.model.dataformat.FlatpackDataFormat val = asType(node, org.apache.camel.model.dataformat.FlatpackDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fory": {
                    org.apache.camel.model.dataformat.ForyDataFormat val = asType(node, org.apache.camel.model.dataformat.ForyDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "grok": {
                    org.apache.camel.model.dataformat.GrokDataFormat val = asType(node, org.apache.camel.model.dataformat.GrokDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "groovyXml": {
                    org.apache.camel.model.dataformat.GroovyXmlDataFormat val = asType(node, org.apache.camel.model.dataformat.GroovyXmlDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "gzipDeflater": {
                    org.apache.camel.model.dataformat.GzipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.GzipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "hl7": {
                    org.apache.camel.model.dataformat.HL7DataFormat val = asType(node, org.apache.camel.model.dataformat.HL7DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "ical": {
                    org.apache.camel.model.dataformat.IcalDataFormat val = asType(node, org.apache.camel.model.dataformat.IcalDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "iso8583": {
                    org.apache.camel.model.dataformat.Iso8583DataFormat val = asType(node, org.apache.camel.model.dataformat.Iso8583DataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jacksonXml": {
                    org.apache.camel.model.dataformat.JacksonXMLDataFormat val = asType(node, org.apache.camel.model.dataformat.JacksonXMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jaxb": {
                    org.apache.camel.model.dataformat.JaxbDataFormat val = asType(node, org.apache.camel.model.dataformat.JaxbDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "json": {
                    org.apache.camel.model.dataformat.JsonDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "jsonApi": {
                    org.apache.camel.model.dataformat.JsonApiDataFormat val = asType(node, org.apache.camel.model.dataformat.JsonApiDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "lzf": {
                    org.apache.camel.model.dataformat.LZFDataFormat val = asType(node, org.apache.camel.model.dataformat.LZFDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "mimeMultipart": {
                    org.apache.camel.model.dataformat.MimeMultipartDataFormat val = asType(node, org.apache.camel.model.dataformat.MimeMultipartDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "parquetAvro": {
                    org.apache.camel.model.dataformat.ParquetAvroDataFormat val = asType(node, org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "protobuf": {
                    org.apache.camel.model.dataformat.ProtobufDataFormat val = asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "rss": {
                    org.apache.camel.model.dataformat.RssDataFormat val = asType(node, org.apache.camel.model.dataformat.RssDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "smooks": {
                    org.apache.camel.model.dataformat.SmooksDataFormat val = asType(node, org.apache.camel.model.dataformat.SmooksDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "soap": {
                    org.apache.camel.model.dataformat.SoapDataFormat val = asType(node, org.apache.camel.model.dataformat.SoapDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMt": {
                    org.apache.camel.model.dataformat.SwiftMtDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMtDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "swiftMx": {
                    org.apache.camel.model.dataformat.SwiftMxDataFormat val = asType(node, org.apache.camel.model.dataformat.SwiftMxDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "syslog": {
                    org.apache.camel.model.dataformat.SyslogDataFormat val = asType(node, org.apache.camel.model.dataformat.SyslogDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "tarFile": {
                    org.apache.camel.model.dataformat.TarFileDataFormat val = asType(node, org.apache.camel.model.dataformat.TarFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "thrift": {
                    org.apache.camel.model.dataformat.ThriftDataFormat val = asType(node, org.apache.camel.model.dataformat.ThriftDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityCsv": {
                    org.apache.camel.model.dataformat.UniVocityCsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityCsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityFixed": {
                    org.apache.camel.model.dataformat.UniVocityFixedDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityFixedDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "univocityTsv": {
                    org.apache.camel.model.dataformat.UniVocityTsvDataFormat val = asType(node, org.apache.camel.model.dataformat.UniVocityTsvDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "xmlSecurity": {
                    org.apache.camel.model.dataformat.XMLSecurityDataFormat val = asType(node, org.apache.camel.model.dataformat.XMLSecurityDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "pgp": {
                    org.apache.camel.model.dataformat.PGPDataFormat val = asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "yaml": {
                    org.apache.camel.model.dataformat.YAMLDataFormat val = asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipDeflater": {
                    org.apache.camel.model.dataformat.ZipDeflaterDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipDeflaterDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "zipFile": {
                    org.apache.camel.model.dataformat.ZipFileDataFormat val = asType(node, org.apache.camel.model.dataformat.ZipFileDataFormat.class);
                    target.setDataFormatType(val);
                    break;
                }
                case "fromType": {
                    String val = asText(node);
                    target.setFromType(val);
                    break;
                }
                case "name": {
                    String val = asText(node);
                    target.setName(val);
                    break;
                }
                case "scheme": {
                    String val = asText(node);
                    target.setScheme(val);
                    break;
                }
                case "toType": {
                    String val = asText(node);
                    target.setToType(val);
                    break;
                }
                default: {
                    return false;
                }
            }
            return true;
        }
Pair #3468 Negative (Non-Clone)
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
Pair #3469 Negative (Non-Clone)
ID: 1248_1082
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createSimpleFunction()
    private XPathFunction createSimpleFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String exprText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        Language simple = exchange.get().getContext().resolveLanguage("simple");
                        Expression exp = simple.createExpression(exprText);
                        return exp.evaluate(exchange.get(), Object.class);
                    }
                }
                return null;
            }
        };
    }
ID: 1499_1350
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF8(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF8(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_8;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_8;
            }
        }

        return d;
    }
Pair #3470 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
Pair #3471 Negative (Non-Clone)
ID: 2188_1722
ClassID: 2188
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.transferImage(Exchange exchange)
    private void transferImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);

        if (ObjectHelper.isEmpty(imageId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.ID + " must be specified");
        }

        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action = getEndpoint().getDigitalOceanClient().transferImage(imageId, region);
        LOG.trace("Transfer  Image {} to Region {} [{}] ", imageId, region, action);
        exchange.getMessage().setBody(action);
    }
ID: 2106_1699
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataSetFlinkProducer.java
Name: org.apache.camel.component.flink.DataSetFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) throws Exception {
        if (result instanceof DataSet) {
            DataSet dsResults = (DataSet) result;
            if (getEndpoint().isCollect()) {
                exchange.getIn().setBody(dsResults.collect());
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASET_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
Pair #3472 Negative (Non-Clone)
ID: 2177_1710
ClassID: 2177
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/authentication/JWTAuthenticationConfigurer.java
Name: org.apache.camel.component.platform.http.main.authentication.JWTAuthenticationConfigurer.configureAuthentication(AuthenticationConfig authenticationConfig, HttpServerConfigurationProperties properties)
    public void configureAuthentication(
            AuthenticationConfig authenticationConfig,
            HttpServerConfigurationProperties properties) {

        String path
                = isNotEmpty(properties.getAuthenticationPath()) ? properties.getAuthenticationPath() : properties.getPath();
         
        if ("/".equals(path)) {
            path = "/*";
        }
        String realm = properties.getAuthenticationRealm() != null ? properties.getAuthenticationRealm() : null;

        AuthenticationConfigEntry entry = new AuthenticationConfigEntry();
        entry.setPath(path);
        entry.setAuthenticationHandlerFactory(new AuthenticationHandlerFactory() {
            @Override
            public <T extends AuthenticationProvider> AuthenticationHandler createAuthenticationHandler(
                    T authenticationProvider) {
                JWTAuth authProvider = (JWTAuth) authenticationProvider;
                return JWTAuthHandler.create(authProvider, realm);
            }
        });
        entry.setAuthenticationProviderFactory(vertx -> JWTAuth.create(
                vertx,
                new JWTAuthOptions(
                        new JsonObject().put("keyStore", new JsonObject()
                                .put("type", properties.getJwtKeystoreType())
                                .put("path", properties.getJwtKeystorePath())
                                .put("password", properties.getJwtKeystorePassword())))));

        authenticationConfig.getEntries().add(entry);
        authenticationConfig.setEnabled(true);
    }
ID: 1808_1487
ClassID: 1808
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/AsyncDockerProducer.java
Name: org.apache.camel.component.docker.producer.AsyncDockerProducer.executeAttachContainerRequest(DockerClient client, Message message)
    private AttachContainerCmd executeAttachContainerRequest(DockerClient client, Message message) {

        LOG.debug("Executing Docker Attach Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        ObjectHelper.notNull(containerId, MISSING_CONTAINER_ID);

        AttachContainerCmd attachContainerCmd = client.attachContainerCmd(containerId);

        Boolean followStream
                = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_STREAM, configuration, message, Boolean.class);

        if (followStream != null) {
            attachContainerCmd.withFollowStream(followStream);
        }

        Boolean logs = DockerHelper.getProperty(DockerConstants.DOCKER_LOGS, configuration, message, Boolean.class);

        if (logs != null) {
            attachContainerCmd.withLogs(logs);
        }

        Boolean stdErr = DockerHelper.getProperty(DockerConstants.DOCKER_STD_ERR, configuration, message, Boolean.class);

        if (stdErr != null) {
            attachContainerCmd.withStdErr(stdErr);
        }

        Boolean stdOut = DockerHelper.getProperty(DockerConstants.DOCKER_STD_OUT, configuration, message, Boolean.class);

        if (stdOut != null) {
            attachContainerCmd.withStdOut(stdOut);
        }

        Boolean timestamps = DockerHelper.getProperty(DockerConstants.DOCKER_TIMESTAMPS, configuration, message, Boolean.class);

        if (timestamps != null) {
            attachContainerCmd.withTimestamps(timestamps);
        }

        return attachContainerCmd;

    }
Pair #3473 Negative (Non-Clone)
ID: 1499_1349
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16;
            }
        }

        return d;
    }
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #3474 Negative (Non-Clone)
ID: 2479_2028
ClassID: 2479
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelProcessorTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop.sortRow(Row o1, Row o2)
    protected int sortRow(Row o1, Row o2) {
         
        int answer = super.sortRow(o1, o2);
        if (answer == 0) {
            int negate = 1;
            if (sort.startsWith("-")) {
                negate = -1;
            }
             
            long m1 = o1.mean != null ? Long.parseLong(o1.mean) : 0;
            long m2 = o2.mean != null ? Long.parseLong(o2.mean) : 0;
            if (m1 < m2) {
                answer = negate;
            } else if (m1 > m2) {
                answer = -1 * negate;
            }
        }
        return answer;
    }
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
Pair #3475 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
Pair #3476 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 1215_1038
ClassID: 1215
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap11DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doUnmarshal(Exchange exchange, InputStream stream, Object rootObject)
    public Object doUnmarshal(Exchange exchange, InputStream stream, Object rootObject) throws IOException {
        if (rootObject.getClass() != Envelope.class) {
            throw new RuntimeCamelException("Expected Soap Envelope but got " + rootObject.getClass());
        }
        Envelope envelope = (Envelope) rootObject;

        Header header = envelope.getHeader();
        if (header != null) {
            List<Object> returnHeaders;
            List<Object> anyHeaderElements = envelope.getHeader().getAny();
            if (null != anyHeaderElements && !(getDataFormat().isIgnoreUnmarshalledHeaders())) {
                if (getDataFormat().isIgnoreJAXBElement()) {
                    returnHeaders = new ArrayList<>();
                    for (Object headerEl : anyHeaderElements) {
                        returnHeaders.add(JAXBIntrospector.getValue(headerEl));
                    }
                } else {
                    returnHeaders = anyHeaderElements;
                }
                exchange.getOut().setHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST, returnHeaders);
            }
        }

        List<Object> anyElement = envelope.getBody().getAny();
        if (anyElement.isEmpty()) {
             
            return null;

        }
        Object payloadEl = anyElement.get(0);
        Object payload = JAXBIntrospector.getValue(payloadEl);
        if (payload instanceof Fault) {
            String soapAction = exchange.getProperty(SoapConstants.SOAP_ACTION, String.class);
            Exception exception = createExceptionFromFault(soapAction, (Fault) payload);
            exchange.setException(exception);
            return null;
        } else {
            return getDataFormat().isIgnoreJAXBElement() ? payload : payloadEl;
        }
    }
Pair #3477 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 765_692
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineObjectName(Exchange exchange)
    private String determineObjectName(Exchange exchange) {
        String key = getConfiguration().getObjectName();
        if (ObjectHelper.isEmpty(key)) {
            key = exchange.getIn().getHeader(GoogleCloudStorageConstants.OBJECT_NAME, String.class);
        }
        if (key == null) {
            throw new IllegalArgumentException("Google Cloud Storage object name header missing.");
        }
        return key;
    }
Pair #3478 Negative (Non-Clone)
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
ID: 2522_2081
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumOracleComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumOracleComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumOracleComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumOracleComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumOracleComponent) component).setConfiguration((org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumOracleComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumOracleComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumOracleComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "archiveDestinationName": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveDestinationName((java.lang.String) value); return true;
            case "archiveLogHours": getOrCreateConfiguration((DebeziumOracleComponent) component).setArchiveLogHours((long) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumOracleComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumOracleComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseConnectionAdapter": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseConnectionAdapter((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseOutServerName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseOutServerName((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePdbName": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePdbName((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseUrl": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUrl((java.lang.String) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumOracleComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "includeSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaChanges((boolean) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "legacyDecimalHandlingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLegacyDecimalHandlingStrategy((boolean) value); return true;
            case "lobEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setLobEnabled((boolean) value); return true;
            case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyMode((boolean) value); return true;
            case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningArchiveLogOnlyScnPollIntervalMs((long) value); return true;
            case "logMiningBatchSizeDefault": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeDefault((long) value); return true;
            case "logMiningBatchSizeIncrement": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeIncrement((long) value); return true;
            case "logMiningBatchSizeMax": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMax((long) value); return true;
            case "logMiningBatchSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBatchSizeMin((long) value); return true;
            case "logMiningBufferDropOnStop": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferDropOnStop((boolean) value); return true;
            case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheEventsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheGlobalConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheProcessedtransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheSchemachangesConfig((java.lang.String) value); return true;
            case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferEhcacheTransactionsConfig((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheEvents((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheGlobal((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheProcessedTransactions((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheSchemaChanges((java.lang.String) value); return true;
            case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferInfinispanCacheTransactions((java.lang.String) value); return true;
            case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferTransactionEventsThreshold((long) value); return true;
            case "logMiningBufferType": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningBufferType((java.lang.String) value); return true;
            case "logMiningClientidExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidExcludeList((java.lang.String) value); return true;
            case "logMiningClientidIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningClientidIncludeList((java.lang.String) value); return true;
            case "logMiningFlushTableName": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningFlushTableName((java.lang.String) value); return true;
            case "logMiningIncludeRedoSql": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningIncludeRedoSql((boolean) value); return true;
            case "logMiningPathDictionary": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningPathDictionary((java.lang.String) value); return true;
            case "logMiningQueryFilterMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningQueryFilterMode((java.lang.String) value); return true;
            case "logMiningReadonlyHostname": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningReadonlyHostname((java.lang.String) value); return true;
            case "logMiningRestartConnection": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningRestartConnection((boolean) value); return true;
            case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionGapSizeMin((long) value); return true;
            case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningScnGapDetectionTimeIntervalMaxMs((long) value); return true;
            case "logMiningSessionMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSessionMaxMs((long) value); return true;
            case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeDefaultMs((long) value); return true;
            case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeIncrementMs((long) value); return true;
            case "logMiningSleepTimeMaxMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMaxMs((long) value); return true;
            case "logMiningSleepTimeMinMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningSleepTimeMinMs((long) value); return true;
            case "logMiningStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningStrategy((java.lang.String) value); return true;
            case "logMiningTransactionRetentionMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningTransactionRetentionMs((long) value); return true;
            case "logMiningUsernameExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameExcludeList((java.lang.String) value); return true;
            case "logMiningUsernameIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setLogMiningUsernameIncludeList((java.lang.String) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumOracleComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumOracleComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumOracleComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "openlogreplicatorHost": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorHost((java.lang.String) value); return true;
            case "openlogreplicatorPort": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorPort((int) value); return true;
            case "openlogreplicatorSource": getOrCreateConfiguration((DebeziumOracleComponent) component).setOpenlogreplicatorSource((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumOracleComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumOracleComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setQueryFetchSize((int) value); return true;
            case "racNodes": getOrCreateConfiguration((DebeziumOracleComponent) component).setRacNodes((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaHistoryInternal": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternal((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalSkipUnparseableDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl((boolean) value); return true;
            case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl((boolean) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumOracleComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDatabaseErrorsMaxRetries((int) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumOracleComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumOracleComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumOracleComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumOracleComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumOracleComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumOracleComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumOracleComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumOracleComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumOracleComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            default: return false;
            }
        }
Pair #3479 Negative (Non-Clone)
ID: 2174_1707
ClassID: 2174
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.getNextElement()
    private Message getNextElement() {
        if (asn1InputStream == null) {
            return null;
        }

        try {
            ASN1Primitive current = getNextEntry();

            if (current != null) {
                Message answer = new DefaultMessage(exchange.getContext());
                answer.getHeaders().putAll(exchange.getIn().getHeaders());
                answer.setBody(current.getEncoded());
                return answer;
            } else {
                LOGGER.trace("close asn1InputStream");
                return null;
            }
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
Pair #3480 Negative (Non-Clone)
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
ID: 3332_2730
ClassID: 3332
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
Name: org.apache.camel.util.function.ThrowingHelper.wrapAsConsumer(ThrowingConsumer<I, T> consumer)
    public static <I, T extends Throwable> Consumer<I> wrapAsConsumer(ThrowingConsumer<I, T> consumer) {
        return new Consumer<>() {
            @Override
            public void accept(I in) {
                try {
                    consumer.accept(in);
                } catch (Throwable t) {
                    throw new RuntimeException(t);
                }
            }
        };
    }
Pair #3481 Negative (Non-Clone)
ID: 1031_879
ClassID: 1031
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpHelper.java
Name: org.apache.camel.http.common.HttpHelper.createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint)
    public static URI createURI(Exchange exchange, String url, HttpCommonEndpoint endpoint) throws URISyntaxException {
        URI uri = new URI(url);
         
        String queryString = (String) exchange.getIn().removeHeader(Exchange.REST_HTTP_QUERY);
         
         
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_RAW_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
        }
        if (queryString == null) {
            queryString = endpoint.getHttpUri().getRawQuery();
        }
         
        if (queryString == null) {
            queryString = uri.getRawQuery();
        }
        if (queryString != null) {
             
            queryString = UnsafeUriCharactersEncoder.encodeHttpURI(queryString);
            uri = URISupport.createURIWithQuery(uri, queryString);
        }
        return uri;
    }
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
Pair #3482 Negative (Non-Clone)
ID: 103_74
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClient(Keycloak keycloakClient, Exchange exchange)
    private void updateClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).update((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client requires POJO request with ClientRepresentation");
        }
    }
ID: 3230_2535
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileLastModifiedExpression()
    public static Expression fileLastModifiedExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LAST_MODIFIED, Long.class);
            }

            @Override
            public String toString() {
                return "file:modified";
            }
        };
    }
Pair #3483 Negative (Non-Clone)
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 1480_1322
ClassID: 1480
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaCamelProcessor.java
Name: org.apache.camel.component.rxjava.engine.RxJavaCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flowable<Exchange> flow = Flowable.create(camelEmitter::set, BackpressureStrategy.MISSING);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                    flow.onBackpressureDrop(this::onBackPressure)
                            .doAfterNext(this::onItemEmitted)
                            .subscribe(this.publisher);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                    flow.doAfterNext(this::onItemEmitted)
                            .onBackpressureLatest()
                            .subscribe(this.publisher);
                } else {
                    flow.doAfterNext(this::onItemEmitted)
                            .onBackpressureBuffer()
                            .subscribe(this.publisher);
                }

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3484 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
Pair #3485 Negative (Non-Clone)
ID: 174_144
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createBatchQuery(String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void createBatchQuery(
            String jobId, String soqlQuery, ContentType jobContentType, Map<String, List<String>> headers,
            final BatchInfoResponseCallback callback) {
        final Request post = getRequest(HttpMethod.POST, batchUrl(jobId, null), headers);
        final byte[] queryBytes;
        try {
            queryBytes = soqlQuery.getBytes(StandardCharsets.UTF_8.name());
        } catch (UnsupportedEncodingException e) {
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Unexpected exception: " + e.getMessage(), e));
            return;
        }
        post.body(new BytesRequestContent(queryBytes));
        post.headers(mutable -> mutable.add(
                new HttpField(
                        HttpHeader.CONTENT_TYPE,
                        getContentType(jobContentType) + ";charset=" + StandardCharsets.UTF_8.name())));

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, post, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1217_1042
ClassID: 1217
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.performOperation(Exchange exchange, StripeOperation operation, String method)
    private Object performOperation(Exchange exchange, StripeOperation operation, String method) throws Exception {
        switch (operation) {
            case CHARGES:
                return handleCharges(exchange, method);
            case CUSTOMERS:
                return handleCustomers(exchange, method);
            case PAYMENT_INTENTS:
                return handlePaymentIntents(exchange, method);
            case PAYMENT_METHODS:
                return handlePaymentMethods(exchange, method);
            case REFUNDS:
                return handleRefunds(exchange, method);
            case SUBSCRIPTIONS:
                return handleSubscriptions(exchange, method);
            case INVOICES:
                return handleInvoices(exchange, method);
            case PRODUCTS:
                return handleProducts(exchange, method);
            case PRICES:
                return handlePrices(exchange, method);
            case BALANCE_TRANSACTIONS:
                return handleBalanceTransactions(exchange, method);
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #3486 Negative (Non-Clone)
ID: 1716_1423
ClassID: 1716
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchComponent.java
Name: org.apache.camel.component.es.ElasticsearchComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        ElasticsearchConfiguration config = new ElasticsearchConfiguration();
        config.setHostAddresses(this.getHostAddresses());
        config.setSocketTimeout(this.getSocketTimeout());
        config.setMaxRetryTimeout(this.getMaxRetryTimeout());
        config.setConnectionTimeout(this.getConnectionTimeout());
        config.setUser(this.getUser());
        config.setEnableSSL(this.isEnableSSL());
        config.setPassword(this.getPassword());
        config.setCertificatePath(this.getCertificatePath());
        config.setEnableSniffer(this.isEnableSniffer());
        config.setSnifferInterval(this.getSnifferInterval());
        config.setSniffAfterFailureDelay(this.getSniffAfterFailureDelay());
        config.setClusterName(remaining);
        config.setEnableDocumentOnlyMode(this.isEnableDocumentOnlyMode());

        Endpoint endpoint = new ElasticsearchEndpoint(uri, this, config, client);
        setProperties(endpoint, parameters);
        config.setHostAddressesList(parseHostAddresses(config.getHostAddresses(), config));

        return endpoint;
    }
ID: 2338_1838
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Producer.java
Name: org.apache.camel.component.aws2.sns.Sns2Producer.configureFifoAttributes(PublishRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(PublishRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoTopic()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #3487 Negative (Non-Clone)
ID: 2649_2310
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpAllTracedMessagesAsJSon()
    public String dumpAllTracedMessagesAsJSon() {
        List<BacklogTracerEventMessage> events = dumpAllTracedMessages();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 1499_1347
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUSASCII(String flavor, String mimeType)
    public DocFlavor forMimeTypeUSASCII(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_US_ASCII")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_US_ASCII;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_US_ASCII;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_US_ASCII;
            }
        }

        return d;
    }
Pair #3488 Negative (Non-Clone)
ID: 2173_1704
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1GenericIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1GenericIterator.ASN1GenericIterator(Class<T> clazz, InputStream inputStream)
    public ASN1GenericIterator(Class<T> clazz, InputStream inputStream) {
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
        this.clazz = clazz;
    }
ID: 1547_1364
ClassID: 1547
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/operations/GetDataOperation.java
Name: org.apache.camel.component.zookeeper.operations.GetDataOperation.getResult()
    public OperationResult<byte[]> getResult() {
        try {
            Stat statistics = new Stat();

            if (LOG.isDebugEnabled()) {
                if (LOG.isTraceEnabled()) {
                    LOG.trace(format("Received data from '%s' path with statistics '%s'", node, statistics));
                } else {
                    LOG.debug(format("Received data from '%s' path ", node));
                }
            }
            return new OperationResult<>(connection.getData(node, true, statistics), statistics);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return new OperationResult<>(e);
        } catch (Exception e) {
            return new OperationResult<>(e);
        }
    }
Pair #3489 Negative (Non-Clone)
ID: 3164_2419
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRecipientList.java
Name: org.apache.camel.management.mbean.ManagedRecipientList.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #3490 Negative (Non-Clone)
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
ID: 103_76
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateGroup(Keycloak keycloakClient, Exchange exchange)
    private void updateGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String groupId = exchange.getIn().getHeader(KeycloakConstants.GROUP_ID, String.class);
        if (ObjectHelper.isEmpty(groupId)) {
            throw new IllegalArgumentException(MISSING_GROUP_ID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                keycloakClient.realm(realmName).groups().group(groupId).update((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Group updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update group requires POJO request with GroupRepresentation");
        }
    }
Pair #3491 Negative (Non-Clone)
ID: 2421_1900
ClassID: 2421
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-route-parser/src/main/java/org/apache/camel/dsl/jbang/core/commands/parser/RouteParserCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.parser.RouteParserCommand.doCall()
    public Integer doCall() throws Exception {
        int exit;
        final AtomicBoolean running = new AtomicBoolean(true);
        if (watch) {
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            do {
                exit = doWatchCall();
                if (exit == 0) {
                     
                    try {
                        StopWatch watch = new StopWatch();
                        while (running.get() && watch.taken() < 2000) {
                            Thread.sleep(100);
                        }
                    } catch (Exception e) {
                        running.set(false);
                    }
                }
            } while (exit == 0 && running.get());
        } else {
            exit = doWatchCall();
        }
        return exit;
    }
ID: 584_549
ClassID: 584
File: systems/camel-java/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java
Name: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat.configureFormat(CsvFormat format)
    protected void configureFormat(CsvFormat format) {
        super.configureFormat(format);

        if (quote != null) {
            format.setQuote(quote);
        }
        if (quoteEscape != null) {
            format.setQuoteEscape(quoteEscape);
        }
        if (delimiter != null) {
            format.setDelimiter(delimiter);
        }
    }
Pair #3492 Negative (Non-Clone)
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
ID: 1257_1107
ClassID: 1257
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/TransactionErrorHandler.java
Name: org.apache.camel.jta.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            exchange.getUnitOfWork().beginTransactedBy(transactionKey);
             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);
        } catch (TransactionRolledbackException e) {
             
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Throwable e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            exchange.getUnitOfWork().endTransactedBy(transactionKey);
        }

         
         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast and caught: ",
                            transactionKey, redelivered, ids, cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
             
            exchange.setException(null);
        }
    }
Pair #3493 Negative (Non-Clone)
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 658_587
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.GroupProducer.messageToGroup(Message message)
    private Group messageToGroup(Message message) {
        Group group = message.getBody(Group.class);

        if (group == null) {
            Map headers = message.getHeaders();
            GroupBuilder builder = Builders.group();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            group = builder.build();
        }
        return group;
    }
Pair #3494 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
Pair #3495 Negative (Non-Clone)
ID: 834_714
ClassID: 834
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        if (stopClient && client != null && client.isConnected()) {
            String topic = getEndpoint().getTopic();
             
            if (getEndpoint().getConfiguration().isCleanSession()) {
                LOG.debug("Unsubscribing client: {} from topic: {}", clientId, topic);
                client.unsubscribe(topic);
            } else {
                LOG.debug("Client: {} is durable so will not unsubscribe from topic: {}", clientId, topic);
            }
            LOG.debug("Disconnecting client: {} from broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            client.disconnect();
        }
        client = null;
    }
ID: 2250_1780
ClassID: 2250
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onRemove(Message message)
    public void onRemove(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (ObjectHelper.isEmpty(value)) {
            result = cache.remove(key);
        } else {
            result = cache.remove(key, value);
        }

        setResult(message, result);
    }
Pair #3496 Negative (Non-Clone)
ID: 3164_2421
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedPollEnricher.java
Name: org.apache.camel.management.mbean.ManagedPollEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2337_1837
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onFailure(Exchange exchange)
                public void onFailure(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processRollback(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
Pair #3497 Negative (Non-Clone)
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
ID: 2473_2014
ClassID: 2473
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.parseReceiveLine(Pid pid, String line)
    private List<Row> parseReceiveLine(Pid pid, String line) {
        JsonObject root = null;
        try {
            root = (JsonObject) Jsoner.deserialize(line);
        } catch (Exception e) {
             
        }
        if (root != null) {
            List<Row> rows = new ArrayList<>();
            JsonArray arr = root.getCollection("messages");
            if (arr != null) {
                for (Object o : arr) {
                    Row row = new Row(pid);
                    row.original = root;
                    row.pid = pid.pid;
                    row.name = pid.name;
                    JsonObject jo = (JsonObject) o;
                    row.uid = jo.getLong("uid");
                    String uri = jo.getString("endpointUri");
                    if (uri != null) {
                        row.endpoint = new JsonObject();
                        if (mask) {
                            uri = URISupport.sanitizeUri(uri);
                        }
                        row.endpoint.put("endpoint", uri);
                        row.endpoint.put("remote", jo.getBooleanOrDefault("remoteEndpoint", true));
                    }
                    JsonObject es = jo.getMap("endpointService");
                    if (es != null) {
                        row.endpointService = es;
                    }
                    Long ts = jo.getLong("timestamp");
                    if (ts != null) {
                        row.timestamp = ts;
                    }
                    row.message = jo.getMap("message");
                    row.message.remove("exchangeId");
                    row.message.remove("exchangePattern");
                    if (onlyBody) {
                        row.message.remove("exchangeProperties");
                        row.message.remove("exchangeVariables");
                        row.message.remove("headers");
                        row.message.remove("messageType");
                    } else {
                        if (!showExchangeProperties) {
                            row.message.remove("exchangeProperties");
                        }
                        if (!showExchangeVariables) {
                            row.message.remove("exchangeVariables");
                        }
                        if (!showHeaders) {
                            row.message.remove("headers");
                        }
                        if (!showBody) {
                            row.message.remove("body");
                        }
                    }
                    rows.add(row);
                }
            }
            return rows;
        }
        return null;
    }
Pair #3498 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
Pair #3499 Negative (Non-Clone)
ID: 3225_2515
ClassID: 3225
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
Name: org.apache.camel.language.simple.ast.SimpleFunctionExpression.createCodeHeader(final String function)
    private String createCodeHeader(final String function) {
         
        String remainder = ifStartsWithReturnRemainder("headerAsIndex(", function);
        if (remainder != null) {
            String keyTypeAndIndex = StringHelper.before(remainder, ")");
            if (keyTypeAndIndex == null) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String[] parts = keyTypeAndIndex.split(",");
            if (parts.length != 3) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            String key = parts[0];
            String type = parts[1];
            String index = parts[2];
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type) || ObjectHelper.isEmpty(index)) {
                throw new SimpleParserException(
                        "Valid syntax: ${headerAsIndex(key, type, index)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            index = StringHelper.removeQuotes(index);
            index = index.trim();
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isNotEmpty(remainder)) {
                boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
                if (invalid) {
                    throw new SimpleParserException(
                            "Valid syntax: ${headerAsIndex(key, type, index).OGNL} was: " + function, token.getIndex());
                }
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")"
                       + ognlCodeMethods(remainder, type);
            } else {
                return "headerAsIndex(message, " + type + ", \"" + key + "\", \"" + index + "\")";
            }
        }

         
        remainder = ifStartsWithReturnRemainder("headerAs(", function);
        if (remainder != null) {
            String keyAndType = StringHelper.before(remainder, ")");
            if (keyAndType == null) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }

            String key = StringHelper.before(keyAndType, ",");
            String type = StringHelper.after(keyAndType, ",");
            remainder = StringHelper.after(remainder, ")");
            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
            }
            key = StringHelper.removeQuotes(key);
            key = key.trim();
            type = appendClass(type);
            type = type.replace('$', '.');
            type = type.trim();
            return "headerAs(message, \"" + key + "\", " + type + ")" + ognlCodeMethods(remainder, type);
        }

         
        if ("in.headers".equals(function) || "headers".equals(function)) {
            return "message.getHeaders()";
        } else if ("headers.size".equals(function) || "headers.size()".equals(function)
                || "headers.length".equals(function) || "headers.length()".equals(function)) {
            return "message.getHeaders().size()";
        }

         
        remainder = parseInHeader(function);
        if (remainder != null) {
             
            if (remainder.startsWith(".") || remainder.startsWith(":") || remainder.startsWith("?")) {
                remainder = remainder.substring(1);
            }
             
            if (remainder.startsWith("[") && remainder.endsWith("]")) {
                remainder = remainder.substring(1, remainder.length() - 1);
            }
             
            String key = StringHelper.removeLeadingAndEndingQuotes(remainder);
            key = key.trim();

             
            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(key);
            if (invalid) {
                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
            }

             
             
            boolean index = false;
            List<String> parts = splitOgnl(key);
            if (!parts.isEmpty()) {
                String s = parts.get(0);
                int pos = s.indexOf('[');
                if (pos != -1) {
                    index = true;
                     
                    String before = s.substring(0, pos);
                    String after = s.substring(pos);
                    parts.set(0, before);
                    parts.add(1, after);
                }
            }
            if (index) {
                 
                 
                String func = "headerAsIndex(\"" + parts.get(0) + "\", Object.class, \"" + parts.get(1) + "\")";
                if (parts.size() > 2) {
                    String last = String.join("", parts.subList(2, parts.size()));
                    if (!last.isEmpty()) {
                        func += "." + last;
                    }
                }
                return createCodeHeader(func);
            } else if (OgnlHelper.isValidOgnlExpression(key)) {
                 
                throw new SimpleParserException("Valid syntax: ${headerAs(key, type).OGNL} was: " + function, token.getIndex());
            } else {
                 
                return "header(message, \"" + key + "\")";
            }
        }

        return null;
    }
ID: 2611_2248
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(LanguageModel model)
    public static JsonObject asJsonObject(LanguageModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("language", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        final List<LanguageModel.LanguageFunctionModel> functions = model.getFunctions();
        if (!functions.isEmpty()) {
            wrapper.put("functions", asJsonObjectFunctions(functions));
        }
        return wrapper;
    }
Pair #3500 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 104_92
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createRole(Keycloak keycloakClient, Exchange exchange)
    private void createRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Role created successfully");
        }
    }
Pair #3501 Negative (Non-Clone)
ID: 378_413
ClassID: 378
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/QueueReplyManager.java
Name: org.apache.camel.component.sjms.reply.QueueReplyManager.createDestination(Session session, String destinationName, boolean topic)
        public Destination createDestination(Session session, String destinationName, boolean topic) throws JMSException {
            QueueReplyManager.this.lock.lock();
            try {
                 
                if (destination == null) {
                    destination = delegate.createDestination(session, destinationName, topic);
                    setReplyTo(destination);
                }
            } finally {
                QueueReplyManager.this.lock.unlock();
            }
            return destination;
        }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #3502 Negative (Non-Clone)
ID: 3208_2476
ClassID: 3208
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
Name: org.apache.camel.impl.console.RestDevConsole.doCallJson(Map<String, Object> options)
    protected Map<String, Object> doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();

        if (rr != null) {
            List<JsonObject> list = new ArrayList<>();
            root.put("rests", list);

            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
                JsonObject jo = new JsonObject();
                jo.put("url", rs.getUrl());
                jo.put("method", rs.getMethod());
                jo.put("contractFirst", rs.isContractFirst());
                jo.put("state", rs.getState());
                if (rs.getConsumes() != null) {
                    jo.put("consumes", rs.getConsumes());
                }
                if (rs.getProduces() != null) {
                    jo.put("produces", rs.getProduces());
                }
                if (rs.getInType() != null) {
                    jo.put("inType", rs.getInType());
                }
                if (rs.getOutType() != null) {
                    jo.put("outType", rs.getOutType());
                }
                if (rs.getDescription() != null) {
                    jo.put("description", rs.getDescription());
                }
                list.add(jo);
            }
        }

        return root;
    }
ID: 438_456
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(false);
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #3503 Negative (Non-Clone)
ID: 176_157
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void closeJob(String jobId, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
        final JobInfo request = new JobInfo();
        request.setState(JobStateEnum.CLOSED);

        final Request post = getRequest(HttpMethod.POST, jobUrl(jobId), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                try {
                    value = unmarshalResponse(response, post, JobInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 1185_1008
ClassID: 1185
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java
Name: org.apache.camel.dataformat.zipfile.ZipFileDataFormat.createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength)
    private void createZipEntries(ZipArchiveOutputStream zos, String filepath, Long fileLength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = fileLength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            ZipArchiveEntry entry = new ZipArchiveEntry(sb + element);
            entry.setSize(length);
            zos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #3504 Negative (Non-Clone)
ID: 3279_2668
ClassID: 3279
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotNull(final Expression expression)
    public static Predicate isNotNull(final Expression expression) {
        return new BinaryPredicateSupport(expression, ExpressionBuilder.constantExpression(null)) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue != null) {
                     
                    return true;
                }
                 
                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                 
                 
                return "is not";
            }
        };
    }
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
Pair #3505 Negative (Non-Clone)
ID: 1422_1267
ClassID: 1422
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsyncMDNServerConnection.java
Name: org.apache.camel.component.as2.api.AS2AsyncMDNServerConnection.run()
        public void run() {
            LOG.info("Listening on port {}", this.serverSocket.getLocalPort());
            while (!Thread.interrupted()) {
                try {
                    Socket inSocket = this.serverSocket.accept();
                     
                    Thread t = new RequestHandlerThread(this.httpService, inSocket);
                    t.setDaemon(true);
                    t.start();
                } catch (final InterruptedIOException | SocketException ex) {
                     
                    break;
                } catch (final IOException e) {
                    LOG.error("I/O error initialising connection thread: {}", e.getMessage());
                    break;
                }
            }
        }
ID: 1282_1126
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.updateVertex()
    private Function<Exchange, Object> updateVertex() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                String key = (String) exchange.getMessage().getHeader(ARANGO_KEY);
                Object vertexDocument = exchange.getMessage().getMandatoryBody();
                return vertexCollection.updateVertex(key, vertexDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #3506 Negative (Non-Clone)
ID: 2444_1927
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 2294_1809
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.describeCluster(EksClient eksClient, Exchange exchange)
    private void describeCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DescribeClusterRequest.class,
                eksClient::describeCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build());
                },
                "Describe Cluster",
                (DescribeClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
Pair #3507 Negative (Non-Clone)
ID: 3235_2554
ClassID: 3235
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetHeadersReifier.java
Name: org.apache.camel.reifier.SetHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        if (definition.getHeaders().isEmpty()) {
            throw new IllegalArgumentException("There must be at least one header specified");
        }
        List<Expression> nameExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        List<Expression> valueExprs = new java.util.ArrayList<>(definition.getHeaders().size());
        for (SetHeaderDefinition hdrDef : definition.getHeaders()) {
            valueExprs.add(createExpression(hdrDef.getExpression()));
            Expression nameExpr;
            String key = parseString(hdrDef.getName());
            if (LanguageSupport.hasSimpleFunction(key)) {
                nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
            } else {
                nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
            }
            nameExpr.init(camelContext);
            nameExprs.add(nameExpr);
        }

        SetHeadersProcessor answer = new SetHeadersProcessor(nameExprs, valueExprs);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1060_909
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithSymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithSymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {
        SecretKey keyEncryptionKey;
        if (xmlCipherAlgorithm.equals(XMLCipher.TRIPLEDES)) {
            keyEncryptionKey = generateKeyEncryptionKey("DESede");
        } else {
            keyEncryptionKey = generateKeyEncryptionKey("AES");
        }

        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
Pair #3508 Negative (Non-Clone)
ID: 1852_1504
ClassID: 1852
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format)
    public static byte[] exportPublicKey(PublicKey publicKey, KeyLifecycleManager.KeyFormat format) throws Exception {
        switch (format) {
            case PEM:
                return exportPublicKeyToPEM(publicKey);
            case DER:
            case X509:
                return publicKey.getEncoded();  
            default:
                throw new IllegalArgumentException("Unsupported format for public key: " + format);
        }
    }
ID: 3112_2402
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.after()
    public ProcessorDefinition<?> after() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.afterById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.afterByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByToUri(route, toUri, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #3509 Negative (Non-Clone)
ID: 2611_2246
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DataFormatModel model)
    public static JsonObject asJsonObject(DataFormatModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);

        obj.put("modelName", model.getModelName());
        obj.put("modelJavaType", model.getModelJavaType());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("dataformat", obj);
        wrapper.put("properties", asJsonObject(model.getOptions()));
        return wrapper;
    }
ID: 101_71
ClassID: 101
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/security/KeycloakSecurityProcessor.java
Name: org.apache.camel.component.keycloak.security.KeycloakSecurityProcessor.validateRoles(String accessToken, Exchange exchange)
    private void validateRoles(String accessToken, Exchange exchange) throws Exception {
        try {
            Set<String> userRoles;

             
            if (policy.isUseTokenIntrospection() && policy.getTokenIntrospector() != null) {
                KeycloakTokenIntrospector.IntrospectionResult introspectionResult
                        = KeycloakSecurityHelper.introspectToken(accessToken, policy.getTokenIntrospector());

                 
                if (!introspectionResult.isActive()) {
                    throw new CamelAuthorizationException("Token is not active (may be revoked or expired)", exchange);
                }

                userRoles = KeycloakSecurityHelper.extractRolesFromIntrospection(
                        introspectionResult, policy.getRealm(), policy.getClientId());
            } else {
                 
                AccessToken token;
                if (ObjectHelper.isEmpty(policy.getPublicKey())) {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken);
                } else {
                    token = KeycloakSecurityHelper.parseAccessToken(accessToken, policy.getPublicKey());
                }
                userRoles = KeycloakSecurityHelper.extractRoles(token, policy.getRealm(), policy.getClientId());
            }

            boolean hasRequiredRoles = policy.isAllRolesRequired()
                    ? userRoles.containsAll(policy.getRequiredRolesAsList())
                    : policy.getRequiredRolesAsList().stream().anyMatch(userRoles::contains);

            if (!hasRequiredRoles) {
                String message = String.format("User does not have required roles. Required: %s, User has: %s",
                        policy.getRequiredRoles(), userRoles);
                LOG.debug(message);
                throw new CamelAuthorizationException(message, exchange);
            }

            LOG.debug("Role validation successful for user with roles: {}", userRoles);

        } catch (Exception e) {
            if (e instanceof CamelAuthorizationException) {
                throw e;
            }
            throw new CamelAuthorizationException("Failed to validate roles", exchange, e);
        }
    }
Pair #3510 Negative (Non-Clone)
ID: 2508_2060
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.methods(ClassInfo ci)
    protected Set<MethodInfo> methods(ClassInfo ci) {
        Set<MethodInfo> methods = new TreeSet<>(Comparator.comparing(MethodInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            methods.addAll(current.methods());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return methods;
    }
ID: 1003_861
ClassID: 1003
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        olingo2endpointPropertyNames
                = new HashSet<>(getPropertiesHelper().getValidEndpointProperties(getCamelContext(), configuration));
        olingo2endpointPropertyNames.add(EDM_PROPERTY);
        olingo2endpointPropertyNames.add(ENDPOINT_HTTP_HEADERS_PROPERTY);
        olingo2endpointPropertyNames.add(SERVICE_URI_PROPERTY);
        olingo2endpointPropertyNames.add(FILTER_ALREADY_SEEN);

         
        if (!(READ_METHOD.equals(methodName) || DELETE_METHOD.equals(methodName) || UREAD_METHOD.equals(methodName))
                && inBody == null) {
            inBody = DATA_PROPERTY;
        }
        createProxy();
    }
Pair #3511 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 2646_2302
ClassID: 2646
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.release(Exchange exchange)
    public boolean release(Exchange exchange) {
        try {
             
            PooledExchange ee = (PooledExchange) exchange;
            ee.done();

             
            boolean inserted = pool.offer(exchange);

            if (statisticsEnabled) {
                if (inserted) {
                    statistics.released.increment();
                } else {
                    statistics.discarded.increment();
                }
            }
            return inserted;
        } catch (Exception e) {
            if (statisticsEnabled) {
                statistics.discarded.increment();
            }
            LOG.debug("Error resetting exchange: {}. This exchange is discarded.", exchange);
            return false;
        }
    }
Pair #3512 Negative (Non-Clone)
ID: 2503_2048
ClassID: 2503
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
Name: org.apache.camel.builder.RouteConfigurationBuilder.updateRouteConfigurationsToCamelContext(CamelContext context)
    public void updateRouteConfigurationsToCamelContext(CamelContext context) throws Exception {
        setCamelContext(context);
        routeConfigurationCollection.setCamelContext(context);
        if (initializedConfiguration.compareAndSet(false, true)) {
            configuration();
        }
        List<RouteConfigurationDefinition> list = getRouteConfigurationCollection().getRouteConfigurations();
        if (!list.isEmpty()) {
             
            for (RouteConfigurationDefinition def : list) {
                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
            }
            populateRoutesConfiguration();
        }
    }
ID: 979_830
ClassID: 979
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParserTokenManager.jjMoveStringLiteralDfa1_0(long active0)
private int jjMoveStringLiteralDfa1_0(long active0){
   try { curChar = input_stream.readChar(); }
   catch(java.io.IOException e) {
      jjStopStringLiteralDfa_0(0, active0);
      return 1;
   }
   switch(curChar)
   {
      case 78:
         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
      case 85:
         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
      default :
         break;
   }
   return jjStartNfa_0(0, active0);
}
Pair #3513 Negative (Non-Clone)
ID: 2402_1897
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        StringHelper.notEmpty(mapName, "repositoryName");
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        replicatedCache = hazelcastInstance.getReplicatedMap(mapName);
        if (useRecovery) {
            replicatedPersistedCache = hazelcastInstance.getReplicatedMap(persistenceMapName);
        }
    }
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #3514 Negative (Non-Clone)
ID: 2233_1761
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPushTag(Exchange exchange, String operation)
    protected void doPushTag(Exchange exchange, String operation) throws GitAPIException {
        Iterable<PushResult> result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isEmpty(endpoint.getTagName())) {
                throw new IllegalArgumentException("Tag Name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName())
                        .add(Constants.R_TAGS + endpoint.getTagName()).call();
            } else {
                result = git.push().setRemote(endpoint.getRemoteName()).add(Constants.R_TAGS + endpoint.getTagName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
ID: 3215_2494
ClassID: 3215
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteGroupDevConsole.java
Name: org.apache.camel.impl.console.RouteGroupDevConsole.calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent)
    private String calculateRouteCoverage(ManagedRouteGroupMBean mrg, boolean percent) {
        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);

        Collection<String> ids = new ArrayList<>();
        for (String id : mrg.getGroupIds()) {
            ManagedRouteMBean mrb = mcc.getManagedRoute(id);
            try {
                ids.addAll(mrb.processorIds());
            } catch (Exception e) {
                return null;
            }
        }

        int total = ids.size();
        int covered = 0;

        for (String id : ids) {
            ManagedProcessorMBean mp = mcc.getManagedProcessor(id);
            if (mp != null) {
                if (mp.getExchangesTotal() > 0) {
                    covered++;
                }
            }
        }

        if (percent) {
            double p;
            if (total > 0) {
                p = ((double) covered / total) * 100;
            } else {
                p = 0;
            }
            String f = String.format("%.0f", p);
            return covered + "/" + total + " (" + f + "%)";
        } else {
            return covered + "/" + total;
        }
    }
Pair #3515 Negative (Non-Clone)
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
ID: 3278_2659
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isLessThan(final Expression left, final Expression right)
    public static Predicate isLessThan(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) < 0;
            }

            protected String getOperationText() {
                return "<";
            }
        };
    }
Pair #3516 Negative (Non-Clone)
ID: 1307_1146
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/events/KubernetesEventsConsumer.java
Name: org.apache.camel.component.kubernetes.events.KubernetesEventsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Event Consumer");
        if (executor != null) {
            KubernetesHelper.close(eventWatcher, eventWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3517 Negative (Non-Clone)
ID: 1137_975
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/CreateIssueProducer.java
Name: org.apache.camel.component.github.producer.CreateIssueProducer.CreateIssueProducer(GitHubEndpoint endpoint)
    public CreateIssueProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_ISSUE_SERVICE);
        if (service != null) {
            issueService = (IssueService) service;
        } else {
            issueService = new IssueService();
        }
        initService(issueService);
    }
ID: 1458_1310
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceCompletion(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceCompletion(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be completed in " + timeout, exception);
        }
    }
Pair #3518 Negative (Non-Clone)
ID: 188_196
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processGetReportDescription(final Exchange exchange, final AsyncCallback callback)
    private void processGetReportDescription(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        final String reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);

        analyticsClient.getReportDescription(reportId, determineHeaders(exchange),
                new AnalyticsApiClient.ReportDescriptionResponseCallback() {
                    @Override
                    public void onResponse(
                            ReportDescription reportDescription, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportDescription, headers, ex, callback);
                    }
                });
    }
ID: 2452_1945
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getPropertyEnum(Object prop)
    private static List<String> getPropertyEnum(Object prop) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = prop.getClass().getMethod("get_enum");
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, prop);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
Pair #3519 Negative (Non-Clone)
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
Pair #3520 Negative (Non-Clone)
ID: 2091_1680
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollNamedFile()
    private FTPFile[] pollNamedFile() {
        FTPFile[] files = null;
         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            FTPFile file = new FTPFile();
            file.setType(FTPFile.FILE_TYPE);
            file.setName(name);
            files = new FTPFile[1];
            files[0] = file;
        }
        return files;
    }
ID: 1310_1185
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ReplicationControllerList rcList;
        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
Pair #3521 Negative (Non-Clone)
ID: 1485_1323
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/SharedConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.SharedConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Shared).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 2566_2143
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateHeaderImportantHelper.java
Name: org.apache.camel.maven.packaging.UpdateHeaderImportantHelper.updateImportantHeaderKeys(File camelDir, Set<String> importants)
    private boolean updateImportantHeaderKeys(File camelDir, Set<String> importants) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/ImportantHeaderUtils.java");
        String text = PackageHelper.loadText(java);
        String spaces20 = "                    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner(",\n");
        for (String name : importants) {
            sb.add(spaces20 + "\"" + name + "\"");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, KEYS_START_TOKEN, KEYS_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, KEYS_START_TOKEN);
                String after = Strings.after(text, KEYS_END_TOKEN);
                text = before + KEYS_START_TOKEN + "\n" + spaces20 + changed + "\n" + spaces12 + KEYS_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
Pair #3522 Negative (Non-Clone)
ID: 2380_1870
ClassID: 2380
File: systems/camel-java/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraUtils.java
Name: org.apache.camel.utils.cassandra.CassandraUtils.concat(Object[] array1, Object[] array2)
    public static Object[] concat(Object[] array1, Object[] array2) {
        if (isEmpty(array1)) {
            return array2;
        }
        if (isEmpty(array2)) {
            return array1;
        }
        Object[] array = new Object[array1.length + array2.length];
        System.arraycopy(array1, 0, array, 0, array1.length);
        System.arraycopy(array2, 0, array, array1.length, array2.length);
        return array;
    }
ID: 1114_948
ClassID: 1114
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.initializeConfigurations(FaceRecognitionEndpoint endpoint)
    private ClientConfigurations initializeConfigurations(FaceRecognitionEndpoint endpoint) {
        ClientConfigurations clientConfigurations = new ClientConfigurations();
        clientConfigurations.setAccessKey(getAccessKey(endpoint));
        clientConfigurations.setSecretKey(getSecretKey(endpoint));
        clientConfigurations.setProjectId(getProjectId(endpoint));
        clientConfigurations.setEndpoint(getEndpoint(endpoint));

        if (StringUtils.isEmpty(endpoint.getOperation())) {
            throw new IllegalArgumentException("operation needs to be set");
        }
        clientConfigurations.setIgnoreSslVerification(endpoint.isIgnoreSslVerification());
        if (clientConfigurations.isIgnoreSslVerification()) {
            LOG.warn("SSL verification is ignored. This is unsafe in production environment");
        }
        if (!StringUtils.isEmpty(endpoint.getProxyHost())) {
            clientConfigurations.setProxyHost(endpoint.getProxyHost());
            clientConfigurations.setProxyPort(endpoint.getProxyPort());
            clientConfigurations.setProxyUser(endpoint.getProxyUser());
            clientConfigurations.setProxyPassword(endpoint.getProxyPassword());
        }
        return clientConfigurations;
    }
Pair #3523 Negative (Non-Clone)
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #3524 Negative (Non-Clone)
ID: 2090_1678
ClassID: 2090
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth)
    protected boolean pollDirectory(Exchange dynamic, String fileName, List<GenericFile<FTPFile>> fileList, int depth) {
        String currentDir = null;
        if (isStepwise()) {
             
             
            currentDir = operations.getCurrentDirectory();
        }

         
        fileName = FileUtil.stripTrailingSeparator(fileName);

        boolean answer = doPollDirectory(dynamic, fileName, null, fileList, depth);
        if (currentDir != null) {
            operations.changeCurrentDirectory(currentDir);
        }

        return answer;
    }
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
Pair #3525 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 228_271
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesFast(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #3526 Negative (Non-Clone)
ID: 283_348
ClassID: 283
File: systems/camel-java/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
Name: org.apache.camel.component.jackson.transform.JsonSchemaResolver.setSchema(String schema)
    public void setSchema(String schema) {
        if (ObjectHelper.isNotEmpty(schema)) {
            try {
                this.schema = Json.mapper().readTree(schema);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        } else {
            this.schema = null;
        }
    }
ID: 3261_2620
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByTypeWithName(Class<T> type)
    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
        Map<String, T> answer = new LinkedHashMap<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.put(pair.getName(), type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }

        return answer;
    }
Pair #3527 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 1432_1293
ClassID: 1432
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseMultipartReportEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, String charsetName, String contentTransferEncoding)
    public static DispositionNotificationMultipartReportEntity parseMultipartReportEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            String charsetName,
            String contentTransferEncoding)
            throws ParseException {
        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {

            if (charsetName == null) {
                charsetName = StandardCharsets.US_ASCII.name();
            }
            Charset charset = Charset.forName(charsetName);
            CharsetDecoder charsetDecoder = charset.newDecoder();

            inbuffer.setCharsetDecoder(charsetDecoder);

             
            DispositionNotificationMultipartReportEntity dispositionNotificationMultipartReportEntity
                    = new DispositionNotificationMultipartReportEntity(boundary, contentTransferEncoding, false);  

             
            skipPreambleAndStartBoundary(inbuffer, is, boundary);

             
             
             

             
            Header[] headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType textReportContentType = null;
            String textReportContentTransferEncoding = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    textReportContentType = ContentType.parse(header.getValue());
                } else if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TRANSFER_ENCODING)) {
                    textReportContentTransferEncoding = header.getValue();
                }
            }

             
            if (textReportContentType == null) {
                textReportContentType = ContentType.parse("text/plain").withCharset(StandardCharsets.US_ASCII.name());
            }

            if (!textReportContentType.getMimeType().equalsIgnoreCase(AS2MimeType.TEXT_PLAIN)) {
                throw new HttpException(
                        "Invalid content type '" + textReportContentType.getMimeType()
                                        + "' for first body part of disposition notification");
            }

            String textReportCharsetName = textReportContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : textReportContentType.getCharset().name();
            TextPlainEntity textReportEntity
                    = parseTextPlainEntityBody(inbuffer, is, boundary, textReportCharsetName,
                            textReportContentTransferEncoding);
            textReportEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(textReportEntity);

             
             

             
             
             

             
            headers = AbstractMessageParser.parseHeaders(inbuffer, is, -1, -1, BasicLineParser.INSTANCE,
                    new ArrayList<>());

             
            ContentType dispositionNotificationContentType = null;
            for (Header header : headers) {
                if (header.getName().equalsIgnoreCase(AS2Header.CONTENT_TYPE)) {
                    dispositionNotificationContentType = ContentType.parse(header.getValue());
                }
            }
            if (dispositionNotificationContentType == null) {
                throw new HttpException("Failed to find Content-Type header in body part");
            }
            if (!dispositionNotificationContentType.getMimeType()
                    .equalsIgnoreCase(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION)) {
                throw new HttpException(
                        "Invalid content type '" + dispositionNotificationContentType.getMimeType()
                                        + "' for second body part of disposition notification");
            }

            String dispositionNotificationCharsetName = dispositionNotificationContentType.getCharset() == null
                    ? StandardCharsets.US_ASCII.name() : dispositionNotificationContentType.getCharset().name();
            AS2MessageDispositionNotificationEntity messageDispositionNotificationEntity
                    = parseMessageDispositionNotificationEntityBody(
                            inbuffer, is, boundary, dispositionNotificationCharsetName);
            messageDispositionNotificationEntity.setHeaders(headers);
            dispositionNotificationMultipartReportEntity.addPart(messageDispositionNotificationEntity);

             
             

            return dispositionNotificationMultipartReportEntity;
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse text entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }

    }
Pair #3528 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1694_1421
ClassID: 1694
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/util/ReflectionUtils.java
Name: org.apache.camel.spring.util.ReflectionUtils.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (IllegalArgumentException ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        } catch (IllegalAccessException ex) {
            handleReflectionException(ex);
        }
    }
Pair #3529 Negative (Non-Clone)
ID: 899_765
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java
Name: org.apache.camel.component.google.drive.GoogleDriveConsumer.doInvokeMethod(Map<String, Object> properties)
    protected Object doInvokeMethod(Map<String, Object> properties) throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 339_388
ClassID: 339
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
Pair #3530 Negative (Non-Clone)
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 3296_2707
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.resume()
    public void resume() {
        lock.lock();
        try {
            if (status != SUSPENDED) {
                logger().trace("Service is not suspended: {}", this);
                return;
            }
            status = STARTING;
            logger().trace("Resuming service: {}", this);
            try (AutoCloseable ignored = doLifecycleChange()) {
                doResume();
                status = STARTED;
                logger().trace("Resumed service: {}", this);
            } catch (Exception e) {
                logger().trace("Error while resuming service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3531 Negative (Non-Clone)
ID: 3164_2423
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedEnricher.java
Name: org.apache.camel.management.mbean.ManagedEnricher.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #3532 Negative (Non-Clone)
ID: 1320_1226
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.configMaps().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, ConfigMap configMap) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(configMap.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Configmaps: {} detected, triggering CamelContext reload",
                                        configMap.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
ID: 3161_2408
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedStep(String id)
    public ManagedStepMBean getManagedStep(String id) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForStep(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #3533 Negative (Non-Clone)
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
ID: 2593_2195
ClassID: 2593
File: systems/camel-java/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
Name: org.apache.camel.tooling.maven.MavenDownloaderImpl.artifactDownloading(RepositoryEvent event)
                public void artifactDownloading(RepositoryEvent event) {
                    watch.restart();

                    if (event.getArtifact() != null) {
                        Artifact a = event.getArtifact();

                        ArtifactRepository ar = event.getRepository();
                        String url = ar instanceof RemoteRepository ? ((RemoteRepository) ar).getUrl() : null;
                        String id = ar != null ? ar.getId() : null;
                        String version = a.isSnapshot() ? a.getBaseVersion() : a.getVersion();
                        remoteArtifactDownloadListener.artifactDownloading(a.getGroupId(), a.getArtifactId(), version,
                                id, url);
                    }
                }
Pair #3534 Negative (Non-Clone)
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
ID: 1254_1094
ClassID: 1254
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.resolveLogger(TransactionErrorHandlerDefinition definition)
    private CamelLogger resolveLogger(TransactionErrorHandlerDefinition definition) {
        CamelLogger answer = definition.getLoggerBean();
        if (answer == null && definition.getLoggerRef() != null) {
            answer = mandatoryLookup(definition.getLoggerRef(), CamelLogger.class);
        }
        if (answer == null) {
            answer = new CamelLogger(LoggerFactory.getLogger(TransactionErrorHandler.class), LoggingLevel.ERROR);
        }
        if (definition.getLevel() != null) {
            answer.setLevel(parse(LoggingLevel.class, definition.getLevel()));
        }
        return answer;
    }
Pair #3535 Negative (Non-Clone)
ID: 2668_2355
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.onExceptionOccurred()
        protected void onExceptionOccurred() {
            if (onExceptionProcessor == null) {
                return;
            }

             
            try {
                if (LOG.isTraceEnabled()) {
                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred",
                            onExceptionProcessor, exchange);
                }
                onExceptionProcessor.process(exchange);
            } catch (Exception e) {
                 
                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
            }
            LOG.trace("OnExceptionOccurred processor done");
        }
ID: 1316_1219
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsProducer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsProducer.doScaleDeploymentConfig(Exchange exchange)
    protected void doScaleDeploymentConfig(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment config require specify a deployment config name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a deployment config name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment config require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment config require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment config require specify a replicas number");
        }
        DeploymentConfig deploymentConfigScaled
                = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                        .inNamespace(namespaceName)
                        .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentConfigScaled.getStatus().getReplicas());
    }
Pair #3536 Negative (Non-Clone)
ID: 2476_2020
ClassID: 2476
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListProducer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListProducer.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

         
        if (filter != null && !filter.endsWith("*")) {
            filter += "*";
        }

        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        JsonObject jo = (JsonObject) root.get("producers");
                        if (context != null && jo != null) {
                            JsonArray array = (JsonArray) jo.get("producers");
                            for (int i = 0; i < array.size(); i++) {
                                JsonObject o = (JsonObject) array.get(i);
                                Row row = new Row();
                                row.name = context.getString("name");
                                if ("CamelJBang".equals(row.name)) {
                                    row.name = ProcessHelper.extractName(root, ph);
                                }
                                row.pid = Long.toString(ph.pid());
                                row.uri = o.getString("uri");
                                row.id = o.getString("routeId");
                                row.state = o.getString("state");
                                row.className = o.getString("class");
                                row.singleton = o.getBoolean("singleton");
                                row.remote = o.getBoolean("remote");
                                row.uptime = extractSince(ph);
                                row.age = TimeUtils.printSince(row.uptime);
                                boolean add = true;
                                if (filter != null) {
                                    String f = filter;
                                    boolean negate = filter.startsWith("-");
                                    if (negate) {
                                        f = f.substring(1);
                                    }
                                    boolean match = PatternHelper.matchPattern(row.uri, f);
                                    if (negate) {
                                        match = !match;
                                    }
                                    if (!match) {
                                        add = false;
                                    }
                                }
                                if (limit > 0 && rows.size() >= limit) {
                                    add = false;
                                }
                                if (add) {
                                    rows.add(row);
                                }
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printTable(rows);
        }

        return 0;
    }
ID: 2095_1688
ClassID: 2095
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onBeginDownloading(String host, String file)
    public void onBeginDownloading(String host, String file) {
        download = true;
        resume = false;
        resumeOffset = 0;
        watch.restart();
        interval.restart();
        String msg = "Downloading from host: " + host + " file: " + file + " starting ";  
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
                                                                                         
        if (fileSize > 0) {
            msg += " (size: " + fileSizeText + ")";
        }
        doLog(msg);
    }
Pair #3537 Negative (Non-Clone)
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #3538 Negative (Non-Clone)
ID: 195_223
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResult(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResult(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        String resultId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
            resultId = getParameter(RESULT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            resultId = getParameter(RESULT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResult(jobId, batchId, resultId, determineHeaders(exchange),
                new BulkApiClient.StreamResponseCallback() {
                    @Override
                    public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        StreamCache body = null;
                        if (inputStream != null) {
                             
                             
                            try {
                                body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                            } catch (IOException e) {
                                String msg = "Error retrieving query result: " + e.getMessage();
                                ex = new SalesforceException(msg, e);
                            } finally {
                                 
                                try {
                                    inputStream.close();
                                } catch (IOException e) {
                                     
                                }
                            }
                        }
                        processResponse(exchange, body, headers, ex, callback);
                    }
                });
    }
ID: 2612_2252
ClassID: 2612
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateEipModel(JsonObject obj)
    public static EipModel generateEipModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("model");
        EipModel model = new EipModel();
        parseModel(mobj, model);
        model.setAbstractModel(mobj.getBooleanOrDefault("abstract", false));
        model.setInput(mobj.getBooleanOrDefault("input", false));
        model.setOutput(mobj.getBooleanOrDefault("output", false));
        JsonObject mprp = (JsonObject) obj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        mprp = (JsonObject) obj.get("exchangeProperties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                EipOptionModel option = new EipOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addExchangeProperty(option);
            }
        }
        return model;
    }
Pair #3539 Negative (Non-Clone)
ID: 1424_1271
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/backoff/BackOffTimerTask.java
Name: org.apache.camel.util.backoff.BackOffTimerTask.whenComplete(BiConsumer<BackOffTimer.Task, Throwable> whenCompleted)
    public void whenComplete(BiConsumer<BackOffTimer.Task, Throwable> whenCompleted) {
        lock.lock();
        try {
            if (backOff.isRemoveOnComplete()) {
                timer.remove(this);
            }
            consumers.add(whenCompleted);
        } finally {
            lock.unlock();
        }
    }
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
Pair #3540 Negative (Non-Clone)
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3541 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 3176_2448
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/SchemaReader.java
Name: org.apache.camel.support.processor.validation.SchemaReader.getSchema()
    public Schema getSchema() throws IOException, SAXException {
        if (schema == null) {
            lock.lock();
            try {
                if (schema == null) {
                    schema = createSchema();
                }
            } finally {
                lock.unlock();
            }
        }
        return schema;
    }
Pair #3542 Negative (Non-Clone)
ID: 599_554
ClassID: 599
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/vault/HashicorpVaultReloadTriggerTask.java
Name: org.apache.camel.component.hashicorp.vault.vault.HashicorpVaultReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("hashicorp");
        if (pf instanceof HashicorpVaultPropertiesFunction) {
            propertiesFunction = (HashicorpVaultPropertiesFunction) pf;
            LOG.debug("Auto-detecting secrets from properties-function: {}", pf.getName());
        }
         
        HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp();
        secrets = hashicorpVaultConfiguration.getSecrets();
        if (ObjectHelper.isEmpty(secrets) && propertiesFunction == null) {
            throw new IllegalArgumentException("Secrets must be configured on Hashicorp vault configuration");
        }

        String token = System.getenv(CAMEL_HASHICORP_VAULT_TOKEN_ENV);
        String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV);
        String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV);
        String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV);
        if (System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV) != null) {
            cloud = Boolean.parseBoolean(System.getenv(CAMEL_HASHICORP_VAULT_CLOUD_ENV));
        }
        namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV);

        if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host)
                && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) {
            if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) {
                token = hashicorpVaultConfiguration.getToken();
                host = hashicorpVaultConfiguration.getHost();
                port = hashicorpVaultConfiguration.getPort();
                scheme = hashicorpVaultConfiguration.getScheme();
                cloud = hashicorpVaultConfiguration.isCloud();
                if (hashicorpVaultConfiguration.isCloud()) {
                    namespace = hashicorpVaultConfiguration.getNamespace();
                }
            }
        }

        if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host)
                && ObjectHelper.isNotEmpty(port) && ObjectHelper.isNotEmpty(scheme)) {
            VaultEndpoint vaultEndpoint = new VaultEndpoint();
            vaultEndpoint.setHost(host);
            vaultEndpoint.setPort(Integer.parseInt(port));
            vaultEndpoint.setScheme(scheme);

            client = new VaultTemplate(
                    vaultEndpoint,
                    new TokenAuthentication(token));
        } else {
            throw new RuntimeCamelException(
                    "Using the Hashicorp Vault Secrets Refresh Task requires setting Token, Host, port and scheme properties");
        }
    }
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
Pair #3543 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
Pair #3544 Negative (Non-Clone)
ID: 1307_1148
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Deployments Consumer");
        if (executor != null) {
            KubernetesHelper.close(deploymentsWatcher, deploymentsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 1875_1549
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getEndpointKind()
    public Knative.EndpointKind getEndpointKind() {
        Knative.EndpointKind answer = this.endpointKind;
        if (answer == null) {
            String stringValue = getMetadata(Knative.CAMEL_ENDPOINT_KIND);
            if (stringValue != null) {
                answer = Knative.EndpointKind.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #3545 Negative (Non-Clone)
ID: 173_134
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createConnectionListener()
    private MessageListener createConnectionListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_CONNECT]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Connect failure: {}", message);
                connectError = (String) message.get(ERROR_FIELD);
                connectException = getFailure(message);

                if (connectError != null && connectError.equals(AUTHENTICATION_INVALID)) {
                    LOG.debug("connectError: {}", connectError);
                    LOG.debug("Attempting login...");
                    session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                }
                if (message.getAdvice() == null || "none".equals(message.getAdvice().get("reconnect"))) {
                    LOG.debug("Advice == none, so handshaking");
                    client.handshake();
                }
            } else if (!channelsToSubscribe.isEmpty()) {
                LOG.info("Subscribing to channels: {}", channelsToSubscribe);
                for (var channelName : channelsToSubscribe) {
                    for (var consumer : channelToConsumers.get(channelName)) {
                        subscribe(consumer);
                    }
                }
            }
        });
    }
ID: 104_90
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientScope(Keycloak keycloakClient, Exchange exchange)
    private void createClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                Response response = keycloakClient.realm(realmName).clientScopes().create((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            ClientScopeRepresentation clientScope = new ClientScopeRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME))) {
                String scopeName = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_NAME, String.class);
                clientScope.setName(scopeName);
            } else {
                throw new IllegalArgumentException("Client scope name must be specified");
            }
            Response response = keycloakClient.realm(realmName).clientScopes().create(clientScope);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #3546 Negative (Non-Clone)
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
ID: 191_212
ClassID: 191
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processDeleteSobject(final Exchange exchange, final AsyncCallback callback)
    private void processDeleteSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        final String sObjectId = determineSObjectId(exchange);
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);

        restClient.deleteSObject(sObjectName, sObjectId, determineHeaders(exchange), new RestClient.ResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                restoreFields(exchange, sObjectBase, sObjectId, null, null);
                processResponse(exchange, response, headers, exception, callback);
            }
        });
    }
Pair #3547 Negative (Non-Clone)
ID: 3161_2408
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedStep(String id)
    public ManagedStepMBean getManagedStep(String id) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Processor processor = camelContext.getProcessor(id);
        ProcessorDefinition<?> def
                = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);

         
        if (def != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy()
                        .getObjectNameForStep(camelContext, processor, def);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedStepMBean.class);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3548 Negative (Non-Clone)
ID: 1406_1258
ClassID: 1406
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
Name: org.apache.camel.component.smpp.SmppBinding.createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId)
    public SmppMessage createSmppMessage(CamelContext camelContext, DataSm dataSm, String smppMessageId) {
        SmppMessage smppMessage = new SmppMessage(camelContext, dataSm, configuration);

        smppMessage.setHeader(SmppConstants.MESSAGE_TYPE, SmppMessageType.DataSm.toString());
        smppMessage.setHeader(SmppConstants.ID, smppMessageId);
        smppMessage.setHeader(SmppConstants.SEQUENCE_NUMBER, dataSm.getSequenceNumber());
        smppMessage.setHeader(SmppConstants.COMMAND_ID, dataSm.getCommandId());
        smppMessage.setHeader(SmppConstants.COMMAND_STATUS, dataSm.getCommandStatus());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR, dataSm.getSourceAddr());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_NPI, dataSm.getSourceAddrNpi());
        smppMessage.setHeader(SmppConstants.SOURCE_ADDR_TON, dataSm.getSourceAddrTon());
        smppMessage.setHeader(SmppConstants.DEST_ADDR, dataSm.getDestAddress());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_NPI, dataSm.getDestAddrNpi());
        smppMessage.setHeader(SmppConstants.DEST_ADDR_TON, dataSm.getDestAddrTon());
        smppMessage.setHeader(SmppConstants.SERVICE_TYPE, dataSm.getServiceType());
        smppMessage.setHeader(SmppConstants.REGISTERED_DELIVERY, dataSm.getRegisteredDelivery());
        smppMessage.setHeader(SmppConstants.DATA_CODING, dataSm.getDataCoding());

        return smppMessage;
    }
ID: 2107_1700
ClassID: 2107
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.resolveDataStream(Exchange exchange)
    protected DataStream resolveDataStream(Exchange exchange) {
        if (exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER) != null) {
            return (DataStream) exchange.getIn().getHeader(FlinkConstants.FLINK_DATASTREAM_HEADER);
        } else if (getEndpoint().getDataStream() != null) {
            return getEndpoint().getDataStream();
        } else {
            throw new IllegalArgumentException("No DataStream defined");
        }
    }
Pair #3549 Negative (Non-Clone)
ID: 442_466
ClassID: 442
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer)
    public HttpServerInitializerFactory(NettyHttpConsumer nettyConsumer) {
        this.consumer = nettyConsumer;
        this.configuration = nettyConsumer.getConfiguration();
        try {
            this.sslContext = createSSLContext(consumer.getContext(), consumer.getConfiguration());
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }

        if (sslContext != null) {
            LOG.info("Created SslContext {}", sslContext);
        }
    }
ID: 2587_2190
ClassID: 2587
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.gatherEnums(UriPath path, Class<?> fieldTypeElement)
    private static List<String> gatherEnums(UriPath path, Class<?> fieldTypeElement) {
        if (!Strings.isNullOrEmpty(path.enums())) {
            String[] values = path.enums().split(",");
            return Stream.of(values).map(String::trim).toList();
        } else if (fieldTypeElement.isEnum()) {
            return doGatherFromEnum(fieldTypeElement);
        }

        return null;
    }
Pair #3550 Negative (Non-Clone)
ID: 3270_2640
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
ID: 1243_1068
ClassID: 1243
File: systems/camel-java/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/converters/CamelInfluxDbConverters.java
Name: org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDbConstants.MEASUREMENT_NAME);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDbException(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point.Builder pointBuilder = Point.measurement(measurenmentNameString);
        map.remove(InfluxDbConstants.MEASUREMENT_NAME);
        pointBuilder.fields(map);
        map.put(InfluxDbConstants.MEASUREMENT_NAME, measurementName);
        return pointBuilder.build();
    }
Pair #3551 Negative (Non-Clone)
ID: 2044_1655
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }

        if (answer) {
             
            answer = changed.acquireExclusiveReadLock(operations, file, exchange);
            if (!answer) {
                 
                idempotentRepository.remove(exchange, key);
            }
        }
        return answer;
    }
ID: 1256_1104
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3552 Negative (Non-Clone)
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #3553 Negative (Non-Clone)
ID: 1233_1060
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400DataQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 1410_1263
ClassID: 1410
File: systems/camel-java/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
Name: org.apache.camel.http.common.HttpCommonEndpoint.getPort()
    public int getPort() {
        if (httpUri.getPort() == -1) {
            if ("https".equals(getProtocol())) {
                return 443;
            } else {
                return 80;
            }
        }
        return httpUri.getPort();
    }
Pair #3554 Negative (Non-Clone)
ID: 174_139
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback)
    public void getAllBatches(String jobId, Map<String, List<String>> headers, final BatchInfoListResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, null), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfoList value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfoList.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value != null ? value.getBatchInfo() : null, headers, ex);
            }
        });
    }
ID: 2606_2236
ClassID: 2606
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/ReflectionHelper.java
Name: org.apache.camel.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #3555 Negative (Non-Clone)
ID: 1315_1216
ClassID: 1315
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doGetConfigMap(Exchange exchange)
    protected void doGetConfigMap(Exchange exchange) {
        String cfMapName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAP_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        if (ObjectHelper.isEmpty(cfMapName)) {
            LOG.error("Get a specific ConfigMap require specify a ConfigMap name");
            throw new IllegalArgumentException("Get a specific ConfigMap require specify a ConfigMap name");
        }
        ConfigMap configMap;
        if (namespaceName != null) {
            configMap = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespaceName).withName(cfMapName).get();
        } else {
            configMap = getEndpoint().getKubernetesClient().configMaps().withName(cfMapName).get();
        }

        prepareOutboundMessage(exchange, configMap);
    }
ID: 184_175
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "query/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
Pair #3556 Negative (Non-Clone)
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
Pair #3557 Negative (Non-Clone)
ID: 3241_2570
ClassID: 3241
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
Name: org.apache.camel.reifier.ToDynamicReifier.createExpression(String uri)
    protected Expression createExpression(String uri) {
         
        uri = EndpointHelper.resolveEndpointUriPropertyPlaceholders(camelContext, uri);

         
        String language = null;
        if (uri.startsWith("language:")) {
            String value = StringHelper.after(uri, "language:");
            language = StringHelper.before(value, ":");
            uri = StringHelper.after(value, ":");
        }
        if (language == null) {
             
            language = LanguageSupport.hasSimpleFunction(uri) ? "simple" : "constant";
        }
        Language lan = camelContext.resolveLanguage(language);
        return lan.createExpression(uri);
    }
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
Pair #3558 Negative (Non-Clone)
ID: 2603_2229
ClassID: 2603
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getMapOrDefault(final String key, final T defaultValue)
    public <T extends Map<?, ?>> T getMapOrDefault(final String key, final T defaultValue) {
         
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            returnable = defaultValue;
        }
        return (T) returnable;
    }
ID: 757_679
ClassID: 757
File: systems/camel-java/components/camel-vertx/camel-vertx-websocket/src/main/java/org/apache/camel/component/vertx/websocket/VertxWebsocketResultHandler.java
Name: org.apache.camel.component.vertx.websocket.VertxWebsocketResultHandler.onResult(String connectionKey)
    void onResult(String connectionKey) {
        lock.lock();
        try {
            connectionKeys.remove(connectionKey);
            if (connectionKeys.isEmpty()) {
                onComplete();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3559 Negative (Non-Clone)
ID: 1108_941
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMEndpoint.java
Name: org.apache.camel.component.huaweicloud.iam.IAMEndpoint.initClient()
    public IamClient initClient() {
        if (iamClient != null) {
            return iamClient;
        }

         
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getAccessKey())) {
            throw new IllegalArgumentException("Authentication parameter 'access key (AK)' not found");
        }
        if (ObjectHelper.isEmpty(getServiceKeys()) && ObjectHelper.isEmpty(getSecretKey())) {
            throw new IllegalArgumentException("Authentication parameter 'secret key (SK)' not found");
        }

         
        GlobalCredentials auth = new GlobalCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getRegion())) {
            return IamClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(IamRegion.valueOf(getRegion()))
                    .build();
        } else {
            throw new IllegalArgumentException("Region not found");
        }
    }
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3560 Negative (Non-Clone)
ID: 3278_2665
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isNotEqualTo(final Expression left, final Expression right)
    public static Predicate isNotEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return false;
                } else if (leftValue == null || rightValue == null) {
                     
                    return true;
                }

                return ObjectHelper.typeCoerceNotEquals(exchange.getContext().getTypeConverter(), leftValue, rightValue);
            }

            protected String getOperationText() {
                return "!=";
            }
        };
    }
ID: 3247_2584
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEndpointStrategies()
    private void setupEndpointStrategies() {
        Map<String, EndpointStrategy> endpointStrategies
                = getContext().getRegistry().findByTypeWithName(EndpointStrategy.class);
        if (endpointStrategies != null && !endpointStrategies.isEmpty()) {
            for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
                EndpointStrategy strategy = entry.getValue();
                LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                getContext().getCamelContextExtension().registerEndpointCallback(strategy);
            }
        }
    }
Pair #3561 Negative (Non-Clone)
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
Pair #3562 Negative (Non-Clone)
ID: 3104_2385
ClassID: 3104
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SetVariablesDefinition.java
Name: org.apache.camel.model.SetVariablesDefinition.createSetVariableDefinitions(Object[] variableNamesAndExprs)
    private void createSetVariableDefinitions(Object[] variableNamesAndExprs) {
        if (variableNamesAndExprs.length == 1 && variableNamesAndExprs[0] instanceof Map) {
            createVariablesFromMap((Map<?, ?>) variableNamesAndExprs[0]);
        } else if (variableNamesAndExprs.length % 2 != 0) {
            throw new IllegalArgumentException("Must be a Map or have an even number of arguments!");
        } else {
            for (int i = 0; i < variableNamesAndExprs.length; i += 2) {
                addVariable(variableNamesAndExprs[i], variableNamesAndExprs[i + 1]);
            }
        }
    }
ID: 3336_2737
ClassID: 3336
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/AnnotationHelper.java
Name: org.apache.camel.util.AnnotationHelper.getAnnotationValue(Method method, String fqnAnnotationName, String key)
    public static Object getAnnotationValue(Method method, String fqnAnnotationName, String key) {
        for (Annotation ann : method.getAnnotations()) {
            if (ann.annotationType().getName().equals(fqnAnnotationName)) {
                try {
                    Method m = ann.getClass().getDeclaredMethod(key);
                    return m.invoke(ann);
                } catch (Exception e) {
                    return null;
                }
            }
        }
        return null;
    }
Pair #3563 Negative (Non-Clone)
ID: 341_394
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applyProducerSslConfiguration(Properties props)
    private void applyProducerSslConfiguration(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotEmpty(props, CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, getSecurityProtocol());
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
        }
    }
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
Pair #3564 Negative (Non-Clone)
ID: 2403_1899
ClassID: 2403
File: systems/camel-java/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
Name: org.apache.camel.component.dropbox.integration.producer.DropboxGetProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        String remotePath = DropboxHelper.getRemotePath(configuration, exchange);
        DropboxConfigurationValidator.validateGetOp(remotePath);

        DropboxFileDownloadResult result = new DropboxAPIFacade(configuration.getClient(), exchange)
                .get(remotePath);

        Map<String, Object> map = result.getEntries();
        if (map.size() == 1) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILE, entry.getKey());
                exchange.getIn().setBody(entry.getValue());
            }
        } else {
            StringBuilder pathsExtracted = new StringBuilder();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                pathsExtracted.append(entry.getKey()).append('\n');
            }
            exchange.getIn().setHeader(DropboxConstants.DOWNLOADED_FILES, pathsExtracted.toString());
            exchange.getIn().setBody(map);
        }
        LOG.debug("Downloaded: {}", result);
    }
ID: 248_322
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventProcessorClient(final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent, final Consumer<ErrorContext> processError)
    public static EventProcessorClient createEventProcessorClient(
            final EventHubsConfiguration configuration, final Consumer<EventContext> processEvent,
            final Consumer<ErrorContext> processError) {
        EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
                .initialPartitionEventPosition(configuration.getEventPosition())
                .checkpointStore(createCheckpointStore(configuration))
                .consumerGroup(configuration.getConsumerGroupName())
                .retryOptions(configuration.getAmqpRetryOptions())
                .transportType(configuration.getAmqpTransportType())
                .processError(processError)
                .processEvent(processEvent);

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventProcessorClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildEventProcessorClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventProcessorClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildEventProcessorClient();
        }
        return eventProcessorClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildEventProcessorClient();
    }
Pair #3565 Negative (Non-Clone)
ID: 186_181
ClassID: 186
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
Name: org.apache.camel.component.salesforce.internal.client.AbstractClientBase.determineHeaders(final Exchange exchange)
    static Map<String, List<String>> determineHeaders(final Exchange exchange) {
        final Message inboundMessage = exchange.getIn();

        final Map<String, Object> headers = inboundMessage.getHeaders();

        final Map<String, List<String>> answer = new HashMap<>();
        for (final String headerName : headers.keySet()) {
            final String headerNameLowercase = headerName.toLowerCase(Locale.US);
            if (headerNameLowercase.startsWith("sforce") || headerNameLowercase.startsWith("x-sfdc")) {
                final Object headerValue = inboundMessage.getHeader(headerName);

                if (headerValue instanceof String) {
                    answer.put(headerName, Collections.singletonList((String) headerValue));
                } else if (headerValue instanceof String[]) {
                    answer.put(headerName, Arrays.asList((String[]) headerValue));
                } else if (headerValue instanceof Collection) {
                    answer.put(headerName,
                            ((Collection<?>) headerValue).stream().map(String::valueOf).collect(Collectors.<String> toList()));
                } else {
                    throw new IllegalArgumentException(
                            "Given value for header `" + headerName + "`, is not String, String array or a Collection");
                }
            }
        }
        return answer;
    }
ID: 618_557
ClassID: 618
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbEndpoint.java
Name: org.apache.camel.component.smb.SmbEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());
        return result;
    }
Pair #3566 Negative (Non-Clone)
ID: 1621_1395
ClassID: 1621
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/SpringAiToolsComponent.java
Name: org.apache.camel.component.springai.tools.SpringAiToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool ID must be configured on the endpoint using syntax spring-ai-tools:toolId");
        }

        final String toolId = remaining;
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        SpringAiToolsConfiguration springAiToolsConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        SpringAiToolsEndpoint endpoint
                = new SpringAiToolsEndpoint(uri, this, toolId, tagList, springAiToolsConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2654_2319
ClassID: 2654
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isIncludedHeader(String key)
    private boolean isIncludedHeader(String key) {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                pattern = StringHelper.after(pattern, "header:");
            }
            if (PatternHelper.matchPattern(key, pattern)) {
                return true;
            }
        }
        return false;
    }
Pair #3567 Negative (Non-Clone)
ID: 243_316
ClassID: 243
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (JsonProcessingException e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 829_709
ClassID: 829
File: systems/camel-java/components/camel-csimple-joor/src/main/java/org/apache/camel/language/csimple/joor/JoorCSimpleCompilationException.java
Name: org.apache.camel.language.csimple.joor.JoorCSimpleCompilationException.codeWithLineNumbers()
    private String codeWithLineNumbers() {
        StringBuilder sb = new StringBuilder(256);
        String[] lines = code.split("\n");
        int counter = 0;
        for (String line : lines) {
            String s = String.format("%3d %s", ++counter, line);
            sb.append(s);
            sb.append("\n");
        }
        return sb.toString();
    }
Pair #3568 Negative (Non-Clone)
ID: 1807_1481
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeListImagesRequest(DockerClient client, Message message)
    private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Images List Request");

        ListImagesCmd listImagesCmd = client.listImagesCmd();

        String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class);

        if (filter != null) {
            listImagesCmd.withLabelFilter(filter);
        }

        Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class);

        if (showAll != null) {
            listImagesCmd.withShowAll(showAll);
        }

        return listImagesCmd;

    }
ID: 1037_894
ClassID: 1037
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/handlers/HttpServerMultiplexChannelHandler.java
Name: org.apache.camel.component.netty.http.handlers.HttpServerMultiplexChannelHandler.getHandler(HttpRequest request, String method)
    private HttpServerChannelHandler getHandler(HttpRequest request, String method) {
        HttpServerChannelHandler answer = null;

         
        for (final HttpServerChannelHandler handler : consumers) {
            NettyHttpConsumer consumer = handler.getConsumer();

            final NettyHttpConfiguration configuration = consumer.getConfiguration();
            if (configuration.isHttpProxy()) {
                return handler;
            }
        }

         
        if (method == null) {
            return null;
        }

        String path = request.uri();
        int idx = path.indexOf(token);
        if (idx > -1) {
            path = path.substring(idx + len);
        }
         
        path = pathAsKey(path);

        List<RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler>> paths = new ArrayList<>();
        for (final HttpServerChannelHandler handler : consumers) {
            paths.add(new HttpRestConsumerPath(handler));
        }

        RestConsumerContextPathMatcher.ConsumerPath<HttpServerChannelHandler> best
                = RestConsumerContextPathMatcher.matchBestPath(method, path, paths);
        if (best != null) {
            answer = best.getConsumer();
        }

         
        List<HttpServerChannelHandler> candidates = new ArrayList<>();
        if (answer == null) {
            for (final HttpServerChannelHandler handler : consumers) {
                NettyHttpConsumer consumer = handler.getConsumer();

                String consumerPath = consumer.getConfiguration().getPath();
                boolean matchOnUriPrefix = consumer.getEndpoint().getConfiguration().isMatchOnUriPrefix();
                 
                if (RestConsumerContextPathMatcher.matchPath(path, consumerPath, matchOnUriPrefix)) {
                    candidates.add(handler);
                }
            }
        }

         
        candidates = candidates.stream()
                .filter(c -> matchRestMethod(method, c.getConsumer().getEndpoint().getHttpMethodRestrict()))
                .collect(Collectors.toList());
        if (candidates.size() == 1) {
            answer = candidates.get(0);
        }

        return answer;
    }
Pair #3569 Negative (Non-Clone)
ID: 2249_1779
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPutAllAsync(Message message)
    public void onPutAllAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Map<?, ?> map = message.getHeader(InfinispanConstants.MAP, Map.class);
        final CompletableFuture<Void> result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.putAllAsync(map, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.putAllAsync(map, lifespan, timeUnit);
            }
        } else {
            result = cache.putAllAsync(map);
        }

        setResult(message, result);
    }
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
Pair #3570 Negative (Non-Clone)
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
ID: 189_207
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetBatch(final Exchange exchange, final AsyncCallback callback)
    private void processGetBatch(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody = exchange.getIn().getBody(BatchInfo.class);
        String batchId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getBatch(jobId, batchId, determineHeaders(exchange), new BulkApiClient.BatchInfoResponseCallback() {
            @Override
            public void onResponse(BatchInfo batchInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, batchInfo, headers, ex, callback);
            }
        });
    }
Pair #3571 Negative (Non-Clone)
ID: 3100_2374
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ParamDefinition.java
Name: org.apache.camel.model.rest.ParamDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
ID: 3210_2482
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/MessageHistoryDevConsole.java
Name: org.apache.camel.impl.console.MessageHistoryDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
Pair #3572 Negative (Non-Clone)
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
ID: 3237_2560
ClassID: 3237
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
Name: org.apache.camel.reifier.loadbalancer.LoadBalancerReifier.reifier(Route route, LoadBalancerDefinition definition)
    public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(
            Route route, LoadBalancerDefinition definition) {

        LoadBalancerReifier<? extends LoadBalancerDefinition> answer = null;
        if (!LOAD_BALANCERS.isEmpty()) {
             
            BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier
                    = LOAD_BALANCERS.get(definition.getClass());
            if (reifier != null) {
                answer = reifier.apply(route, definition);
            }
        }
        if (answer == null) {
            answer = coreReifier(route, definition);
        }
        if (answer == null) {
            throw new IllegalStateException("Unsupported definition: " + definition);
        }
        return answer;
    }
Pair #3573 Negative (Non-Clone)
ID: 103_79
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClientScope(Keycloak keycloakClient, Exchange exchange)
    private void updateClientScope(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientScopeId = exchange.getIn().getHeader(KeycloakConstants.CLIENT_SCOPE_ID, String.class);
        if (ObjectHelper.isEmpty(clientScopeId)) {
            throw new IllegalArgumentException("Client scope ID must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientScopeRepresentation) {
                keycloakClient.realm(realmName).clientScopes().get(clientScopeId).update((ClientScopeRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client scope updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client scope requires POJO request with ClientScopeRepresentation");
        }
    }
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3574 Negative (Non-Clone)
ID: 496_521
ClassID: 496
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSClientFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSClientFactoryBean.setLoggingFeatureEnabled(boolean loggingFeatureEnabled)
    public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            loggingFeature = null;
        }
        if (loggingFeatureEnabled) {
            if (getLoggingSizeLimit() > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }

    }
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
Pair #3575 Negative (Non-Clone)
ID: 2475_2018
ClassID: 2475
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction.doCallLocal()
    private Integer doCallLocal() throws Exception {
        AtomicReference<KameletMain> ref = new AtomicReference<>();
        Run run = new Run(this.getMain()) {
            @Override
            protected int runKameletMain(KameletMain main) throws Exception {
                ref.set(main);
                return super.runKameletMain(main);
            }
        };
        run.empty = true;
        run.propertiesFiles = propertiesFiles;
        run.property = property;

         
        final CountDownLatch latch = new CountDownLatch(1);
        this.pid = ProcessHandle.current().pid();
        Path outputFile = writeSendData();
        Thread t = new Thread("CamelJBangSendStatus") {
            @Override
            public void run() {
                try {
                    showStatus(outputFile);
                } catch (Exception e) {
                     
                } finally {
                    latch.countDown();
                     
                    KameletMain main = ref.get();
                    if (main != null) {
                        main.completed();
                    }
                }
            }
        };
         
        t.start();

        Integer exit = run.call();
        latch.await(timeout + 10000, TimeUnit.MILLISECONDS);

        return exit;
    }
ID: 1858_1520
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.loadExistingKeys()
    private void loadExistingKeys() throws Exception {
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        if (keyIds != null) {
            LOG.info("Found {} existing keys in Vault", keyIds.size());

            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        LOG.debug("Loaded existing key from Vault: {}", metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load key from Vault: {}", keyId, e);
                }
            }
        }
    }
Pair #3576 Negative (Non-Clone)
ID: 2492_2041
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureEnvVars(Traits traitsSpec, String[] envVars)
    public static void configureEnvVars(Traits traitsSpec, String[] envVars) {
        if (envVars == null || envVars.length == 0) {
            return;
        }
        Environment environmentTrait = Optional.ofNullable(traitsSpec.getEnvironment()).orElseGet(Environment::new);
        if (environmentTrait.getVars() == null) {
            environmentTrait.setVars(new ArrayList<>());
        }
        environmentTrait.getVars().addAll(List.of(envVars));
        traitsSpec.setEnvironment(environmentTrait);
    }
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
Pair #3577 Negative (Non-Clone)
ID: 2534_2111
ClassID: 2534
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderClassResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderClassResolver.loadResourceAsStream(String uri)
    public InputStream loadResourceAsStream(String uri) {
        resourceResolverListeners.forEach(l -> l.onLoadResourceAsStream(uri));

        InputStream answer = null;
        try {
            answer = super.loadResourceAsStream(uri);
        } catch (Exception e) {
             
        }

        if (answer == null) {
             
            MavenGav gav = knownDependenciesResolver.mavenGavForClass(uri);
            if (gav == null) {
                 
                 
                String last = StringHelper.afterLast(uri, ".", uri);
                PojoBeanModel model = catalog.pojoBeanModel(last);
                if (model != null && uri.equals(model.getJavaType())) {
                    gav = MavenGav.fromCoordinates(model.getGroupId(), model.getArtifactId(), model.getVersion(), null, null);
                }
            }
            if (gav != null) {
                if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(),
                        gav.getVersion())) {
                    downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
                            gav.getVersion());
                }
                try {
                    answer = super.loadResourceAsStream(uri);
                } catch (Exception e) {
                     
                }
            }
        }

        return answer;
    }
ID: 900_772
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Drive makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Drive client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Drive client.", e);
        }
    }
Pair #3578 Negative (Non-Clone)
ID: 2272_1796
ClassID: 2272
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/QueryBuilder.java
Name: org.apache.camel.component.jpa.QueryBuilder.namedQuery(final String namedQuery)
    public static QueryBuilder namedQuery(final String namedQuery) {
        return new QueryBuilder() {
            protected Query makeQueryObject(EntityManager entityManager) {
                return entityManager.createNamedQuery(namedQuery);
            }

            @Override
            public String toString() {
                return "Named: " + namedQuery + getParameterDescription();
            }
        };
    }
ID: 3177_2452
ClassID: 3177
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLReaderPool.java
Name: org.apache.camel.converter.jaxp.XMLReaderPool.parse(InputSource input)
        public void parse(InputSource input) throws IOException, SAXException {
            lock.lock();
            try {
                checkValid();
                try {
                    xmlReader.parse(input);
                } finally {
                    release();
                }
            } finally {
                lock.unlock();
            }
        }
Pair #3579 Negative (Non-Clone)
ID: 2354_1850
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineInitialDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineInitialDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long initialDelay = exchange.getIn().getHeader(Athena2Constants.INITIAL_DELAY, Long.class);

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = configuration.getInitialDelay();
        }

        if (ObjectHelper.isEmpty(initialDelay)) {
            initialDelay = determineDelay(exchange, configuration);
        }

        if (initialDelay < 0) {
            throw new IllegalArgumentException("AWS Athena initial delay must be >= 0");
        }

        return initialDelay;
    }
ID: 644_573
ClassID: 644
File: systems/camel-java/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/WhatsAppWebhookProcessor.java
Name: org.apache.camel.component.whatsapp.WhatsAppWebhookProcessor.parseQueryParam(Exchange exchange)
    private Map<String, String> parseQueryParam(Exchange exchange) {
        Map<String, String> queryParams = new HashMap<>();

        if (exchange.getIn().getHeader(Exchange.HTTP_QUERY) != null) {
            String[] pairs = exchange.getIn().getHeader(Exchange.HTTP_QUERY).toString().split("&");
            for (String pair : pairs) {
                String[] keyValuePair = pair.split("=");

                queryParams.put(keyValuePair[0], keyValuePair[1]);
            }
        }

        return queryParams;
    }
Pair #3580 Negative (Non-Clone)
ID: 757_680
ClassID: 757
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.add(FileInputStreamCache fileInputStreamCache)
        void add(FileInputStreamCache fileInputStreamCache) {
            lock.lock();
            try {
                if (fileInputStreamCaches == null) {
                    fileInputStreamCaches = new ArrayList<>(3);
                }
                fileInputStreamCaches.add(fileInputStreamCache);
            } finally {
                lock.unlock();
            }
        }
ID: 765_686
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.determineVectorBucketName(Exchange exchange)
    private String determineVectorBucketName(Exchange exchange) {
        String vectorBucketName = exchange.getIn().getHeader(AWS2S3VectorsConstants.VECTOR_BUCKET_NAME, String.class);
        if (vectorBucketName == null) {
            vectorBucketName = getConfiguration().getVectorBucketName();
        }
        if (vectorBucketName == null) {
            throw new IllegalArgumentException("Vector bucket name must be specified");
        }
        return vectorBucketName;
    }
Pair #3581 Negative (Non-Clone)
ID: 2563_2138
ClassID: 2563
File: systems/camel-java/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
Name: org.apache.camel.maven.JavaSourceParser.getMethodJavadocRaw(MethodSource ms, String rawClass)
    private static String getMethodJavadocRaw(MethodSource ms, String rawClass) {
        Object obj = ms.getJavaDoc().getInternal();
        ASTNode node = (ASTNode) obj;
        int pos = node.getStartPosition();
        int len = node.getLength();
        if (pos > 0 && len > 0) {
            return rawClass.substring(pos, pos + len);
        } else {
            return null;
        }
    }
ID: 2651_2313
ClassID: 2651
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
Name: org.apache.camel.processor.OnCompletionProcessor.onComplete(final Exchange exchange)
        public void onComplete(final Exchange exchange) {
            if (shouldSkip(exchange, onFailureOnly)) {
                return;
            }

             
            final Exchange copy = prepareExchange(exchange);

            if (executorService != null) {
                Runnable task = () -> {
                    LOG.debug("Processing onComplete: {}", copy);
                    doProcess(processor, copy);
                };
                task = prepareMDCParallelTask(camelContext, task);
                executorService.submit(task);
            } else {
                 
                LOG.debug("Processing onComplete: {}", copy);
                doProcess(processor, copy);
            }
        }
Pair #3582 Negative (Non-Clone)
ID: 3247_2585
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.addGlobalInterceptors()
    private void addGlobalInterceptors() {
        Map<String, InterceptStrategy> interceptStrategies
                = getContext().getRegistry().findByTypeWithName(InterceptStrategy.class);
        if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
            for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
                InterceptStrategy strategy = entry.getValue();
                 
                if (!getContext().getCamelContextExtension().getInterceptStrategies().contains(strategy)) {
                    LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                    getContext().getCamelContextExtension().addInterceptStrategy(strategy);
                }
            }
        }
    }
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
Pair #3583 Negative (Non-Clone)
ID: 658_588
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/ProjectProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.ProjectProducer.messageToProject(Message message)
    private Project messageToProject(Message message) {
        Project project = message.getBody(Project.class);

        if (project == null) {
            Map headers = message.getHeaders();
            ProjectBuilder builder = Builders.project();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(KeystoneConstants.PARENT_ID)) {
                builder.parentId(message.getHeader(KeystoneConstants.PARENT_ID, String.class));
            }

            project = builder.build();
        }
        return project;
    }
ID: 1975_1609
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.predict(Exchange exchange, String input)
    protected T predict(Exchange exchange, String input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<String, T> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<String, T> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #3584 Negative (Non-Clone)
ID: 3167_2431
ClassID: 3167
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.init(ManagementStrategy strategy)
    public void init(ManagementStrategy strategy) {
        super.init(strategy);
        this.sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : true;
        if (sanitize) {
            uri = URISupport.sanitizeUri(getProcessor().getUri());
        } else {
            uri = getProcessor().getUri();
        }
    }
ID: 1841_1501
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XPollingConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XPollingConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping PollingConsumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping PollingConsumer");
            }
            doStop();
        }
    }
Pair #3585 Negative (Non-Clone)
ID: 2231_1750
ClassID: 2231
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doDeleteBranch(String operation)
    protected void doDeleteBranch(String operation) throws GitAPIException {
        if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
            throw new IllegalArgumentException("Branch Name must be specified to execute " + operation);
        }
        try {
            git.branchDelete().setBranchNames(endpoint.getBranchName()).call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #3586 Negative (Non-Clone)
ID: 1011_876
ClassID: 1011
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Producer.java
Name: org.apache.camel.component.olingo4.Olingo4Producer.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
         
        final Map<String, Object> properties = new HashMap<>(endpoint.getEndpointProperties());
        propertiesHelper.getExchangeProperties(exchange, properties);

         
        endpoint.interceptProperties(properties);
        interceptProperties(properties);

         
        properties.put(Olingo4Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo4ResponseHandler<Object>() {
            @Override
            public void onResponse(Object response, Map<String, String> responseHeaders) {
                if (resultIndex != null) {
                    response = resultIndex.filterResponse(response);
                }

                 
                 
                exchange.getOut().setBody(response);
                 
                exchange.getOut().setHeaders(exchange.getIn().getHeaders());

                 
                exchange.getOut().setHeader(Olingo4Constants.FULL_RESPONSE_HTTP_HEADERS, responseHeaders);

                interceptResult(response, exchange);

                callback.done(false);
            }

            @Override
            public void onException(Exception ex) {
                exchange.setException(ex);
                callback.done(false);
            }

            @Override
            public void onCanceled() {
                exchange.setException(new RuntimeCamelException("OData HTTP Request cancelled!"));
                callback.done(false);
            }
        });

         
        final ApiMethod method = findMethod(exchange, properties);
        if (method == null) {
             
            callback.done(true);
            return true;
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Invoking operation {} with {}", method.getName(), properties.keySet());
        }

        try {
            doInvokeMethod(method, properties);
        } catch (Exception e) {
            exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e));
            callback.done(true);
            return true;
        }
        return false;

    }
ID: 924_798
ClassID: 924
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
Name: org.apache.camel.component.google.pubsub.GooglePubsubComponent.getCredentialsProvider(GooglePubsubEndpoint endpoint)
    private CredentialsProvider getCredentialsProvider(GooglePubsubEndpoint endpoint) throws IOException {
        CredentialsProvider credentialsProvider;

        if (endpoint.isAuthenticate()) {
            credentialsProvider = FixedCredentialsProvider.create(ObjectHelper.isEmpty(endpoint.getServiceAccountKey())
                    ? GoogleCredentials.getApplicationDefault() : ServiceAccountCredentials.fromStream(ResourceHelper
                            .resolveMandatoryResourceAsInputStream(getCamelContext(), endpoint.getServiceAccountKey()))
                            .createScoped(PublisherStubSettings.getDefaultServiceScopes()));
        } else {
            credentialsProvider = NoCredentialsProvider.create();
        }

        return credentialsProvider;
    }
Pair #3587 Negative (Non-Clone)
ID: 1497_1338
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameNA(String size)
    public MediaSizeName selectMediaSizeNameNA(String size) {
        if (size.equalsIgnoreCase("na_letter")) {
            mediaSizeName = MediaSizeName.NA_LETTER;
        } else if (size.equalsIgnoreCase("na_legal")) {
            mediaSizeName = MediaSizeName.NA_LEGAL;
        } else if (size.equalsIgnoreCase("executive")) {
            mediaSizeName = MediaSizeName.EXECUTIVE;
        } else if (size.equalsIgnoreCase("ledger")) {
            mediaSizeName = MediaSizeName.LEDGER;
        } else if (size.equalsIgnoreCase("tabloid")) {
            mediaSizeName = MediaSizeName.TABLOID;
        } else if (size.equalsIgnoreCase("invoice")) {
            mediaSizeName = MediaSizeName.INVOICE;
        } else if (size.equalsIgnoreCase("folio")) {
            mediaSizeName = MediaSizeName.FOLIO;
        } else if (size.equalsIgnoreCase("quarto")) {
            mediaSizeName = MediaSizeName.QUARTO;
        } else if (size.equalsIgnoreCase("japanese_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_POSTCARD;
        } else if (size.equalsIgnoreCase("oufuko_postcard")) {
            mediaSizeName = MediaSizeName.JAPANESE_DOUBLE_POSTCARD;
        } else if (size.equalsIgnoreCase("a")) {
            mediaSizeName = MediaSizeName.A;
        } else if (size.equalsIgnoreCase("b")) {
            mediaSizeName = MediaSizeName.B;
        } else if (size.equalsIgnoreCase("c")) {
            mediaSizeName = MediaSizeName.C;
        } else if (size.equalsIgnoreCase("d")) {
            mediaSizeName = MediaSizeName.D;
        } else if (size.equalsIgnoreCase("e")) {
            mediaSizeName = MediaSizeName.E;
        } else if (size.equalsIgnoreCase("iso_designated_long")) {
            mediaSizeName = MediaSizeName.ISO_DESIGNATED_LONG;
        } else if (size.equalsIgnoreCase("italian_envelope")) {
            mediaSizeName = MediaSizeName.ITALY_ENVELOPE;
        } else if (size.equalsIgnoreCase("monarch_envelope")) {
            mediaSizeName = MediaSizeName.MONARCH_ENVELOPE;
        } else if (size.equalsIgnoreCase("personal_envelope")) {
            mediaSizeName = MediaSizeName.PERSONAL_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_9_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_10_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_10_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_11_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_12_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_number_14_envelope")) {
            mediaSizeName = MediaSizeName.NA_NUMBER_14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_6x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_6X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_7x9_envelope")) {
            mediaSizeName = MediaSizeName.NA_7X9_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x11_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X11_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_9x12_envelope")) {
            mediaSizeName = MediaSizeName.NA_9X12_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x13_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X13_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x14_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X14_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_10x15_envelope")) {
            mediaSizeName = MediaSizeName.NA_10X15_ENVELOPE;
        } else if (size.equalsIgnoreCase("na_5x7")) {
            mediaSizeName = MediaSizeName.NA_5X7;
        } else if (size.equalsIgnoreCase("na_8x10")) {
            mediaSizeName = MediaSizeName.NA_8X10;
        } else {
            mediaSizeName = MediaSizeName.NA_LETTER;
        }

        return mediaSizeName;
    }
ID: 1499_1345
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeHOST(String flavor, String mimeType)
    public DocFlavor forMimeTypeHOST(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_HOST")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_HOST;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_HOST;
            }
        }

        return d;
    }
Pair #3588 Negative (Non-Clone)
ID: 584_550
ClassID: 584
File: systems/camel-java/components/camel-fhir/camel-fhir-api/src/main/java/org/apache/camel/component/fhir/api/FhirHistory.java
Name: org.apache.camel.component.fhir.api.FhirHistory.processOptionalParams(Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped)
    private <T extends IBaseBundle> void processOptionalParams(
            Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped) {
        if (count != null) {
            tiHistoryTyped.count(count);
        }
        if (theCutoff != null) {
            tiHistoryTyped.since(theCutoff);
        }
        if (cutoff != null) {
            tiHistoryTyped.since(cutoff);
        }
    }
ID: 233_284
ClassID: 233
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
Name: org.apache.camel.component.file.azure.FilesOperations.existsRemote(ShareFileClient fileClient)
    private boolean existsRemote(ShareFileClient fileClient) {
        try {
            return Boolean.TRUE
                    .equals(fileClient.existsWithResponse(endpoint.getMetadataTimeout(), Context.NONE).getValue());
        } catch (ShareStorageException ex) {
             
            if (ex.getStatusCode() == HTTP_NOT_FOUND) {
                return false;
            }
            throw ex;
        }
    }
Pair #3589 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
Pair #3590 Negative (Non-Clone)
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
ID: 3331_2728
ClassID: 3331
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/concurrent/AsyncCompletionService.java
Name: org.apache.camel.util.concurrent.AsyncCompletionService.take()
    public V take() throws InterruptedException {
        final ReentrantLock lock = this.lock;
        lock.lockInterruptibly();
        try {
            for (;;) {
                Task t = queue.peek();
                if (t != null && (!ordered || index.compareAndSet(t.id, t.id + 1))) {
                    queue.poll();
                    return t.result;
                }
                available.await();
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3591 Negative (Non-Clone)
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
ID: 1257_1107
ClassID: 1257
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/TransactionErrorHandler.java
Name: org.apache.camel.jta.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            exchange.getUnitOfWork().beginTransactedBy(transactionKey);
             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);
        } catch (TransactionRolledbackException e) {
             
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Throwable e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            exchange.getUnitOfWork().endTransactedBy(transactionKey);
        }

         
         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast and caught: ",
                            transactionKey, redelivered, ids, cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
             
            exchange.setException(null);
        }
    }
Pair #3592 Negative (Non-Clone)
ID: 741_669
ClassID: 741
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/SearchTermBuilder.java
Name: org.apache.camel.component.mail.SearchTermBuilder.asNum()
        int asNum() {
            switch (this) {
                case LE:
                    return ComparisonTerm.LE;
                case LT:
                    return ComparisonTerm.LT;
                case EQ:
                    return ComparisonTerm.EQ;
                case NE:
                    return ComparisonTerm.NE;
                case GT:
                    return ComparisonTerm.GT;
                case GE:
                    return ComparisonTerm.GE;
                default:
                    throw new IllegalArgumentException("Unknown comparison " + this);
            }
        }
ID: 1246_1075
ClassID: 1246
File: systems/camel-java/components/camel-file-watch/src/main/java/org/apache/camel/component/file/watch/constants/FileEventEnum.java
Name: org.apache.camel.component.file.watch.constants.FileEventEnum.valueOf(DirectoryChangeEvent.EventType directoryChangeEventType)
    public static FileEventEnum valueOf(DirectoryChangeEvent.EventType directoryChangeEventType) {
        switch (directoryChangeEventType) {
            case CREATE:
                return FileEventEnum.CREATE;
            case DELETE:
                return FileEventEnum.DELETE;
            case MODIFY:
                return FileEventEnum.MODIFY;
            default:
                return null;
        }
    }
Pair #3593 Negative (Non-Clone)
ID: 2443_1924
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.getId(SuspendedRow r)
    private String getId(SuspendedRow r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 2189_1725
ClassID: 2189
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanDropletsProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanDropletsProducer.untagDroplet(Exchange exchange)
    private void untagDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        if (ObjectHelper.isEmpty(exchange.getIn().getHeader(DigitalOceanHeaders.NAME))) {
            throw new IllegalArgumentException(DigitalOceanHeaders.NAME + " must be specified");
        }

        ArrayList<Resource> resources = new ArrayList<>(1);
        resources.add(new Resource(dropletId.toString(), ResourceType.DROPLET));
        Response response = getEndpoint().getDigitalOceanClient().untagResources(dropletId.toString(), resources);
        LOG.trace("Untag Droplet {} : [{}] ", dropletId, response);
        exchange.getMessage().setBody(response);
    }
Pair #3594 Negative (Non-Clone)
ID: 2173_1705
ClassID: 2173
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.ASN1MessageIterator(Exchange exchange, InputStream inputStream)
    public ASN1MessageIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        if (inputStream instanceof ASN1InputStream) {
            this.asn1InputStream = (ASN1InputStream) inputStream;
        } else {
            this.asn1InputStream = new ASN1InputStream(inputStream);
        }
        this.parent = null;
    }
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
Pair #3595 Negative (Non-Clone)
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 338_386
ClassID: 338
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
Pair #3596 Negative (Non-Clone)
ID: 235_289
ClassID: 235
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesConsumer.java
Name: org.apache.camel.component.file.azure.FilesConsumer.isMatched(Supplier<GenericFile<ShareFileItem>> file, String doneFileName, ShareFileItem[] files)
    protected boolean isMatched(
            Supplier<GenericFile<ShareFileItem>> file, String doneFileName,
            ShareFileItem[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (ShareFileItem f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 188_185
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateJob(Exchange exchange, AsyncCallback callback)
    private void processCreateJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        Job job = exchange.getIn().getMandatoryBody(Job.class);
        bulkClient.createJob(job, determineHeaders(exchange),
                new JobResponseCallback() {
                    @Override
                    public void onResponse(Job job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #3597 Negative (Non-Clone)
ID: 1723_1444
ClassID: 1723
File: systems/camel-java/components/camel-opensearch/src/generated/java/org/apache/camel/component/opensearch/converter/OpensearchActionRequestConverterLoader.java
Name: org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.opensearch.client.opensearch.core.BulkRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toBulkRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.DeleteRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.GetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toGetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.IndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.MgetRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toMgetRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.SearchRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toSearchRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.core.UpdateRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toUpdateRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.opensearch.client.opensearch.indices.DeleteIndexRequest.Builder.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.opensearch.converter.OpensearchActionRequestConverter.toDeleteIndexRequestBuilder(value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #3598 Negative (Non-Clone)
ID: 1233_1058
ClassID: 1233
File: systems/camel-java/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedPollingConsumer.java
Name: org.apache.camel.component.feed.FeedPollingConsumer.poll()
    protected int poll() throws Exception {
        Object feed = createFeed();
        if (feed != null) {
            Exchange exchange = endpoint.createExchange(feed);
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
ID: 2094_1687
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivityVerbose()
    public String getLastFtpActivityVerbose() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastVerboseLogActivity();
            if (log != null) {
                long since = listener.getLastVerboseLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
Pair #3599 Negative (Non-Clone)
ID: 2569_2151
ClassID: 2569
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.getJavaDoc(JavaClassSource source, String fieldName, String classElement)
    private String getJavaDoc(JavaClassSource source, String fieldName, String classElement) {
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().size() == 1 && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        for (MethodSource<JavaClassSource> builder : source.getMethods()) {
            if (builder.getParameters().isEmpty() && builder.getName().equals(fieldName)) {
                String doc = getJavaDocText(loadJavaSource(classElement), builder);
                if (!Strings.isNullOrEmpty(doc)) {
                    return doc;
                }
            }
        }
        return null;
    }
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #3600 Negative (Non-Clone)
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
ID: 738_660
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-postgres/src/generated/java/org/apache/camel/component/debezium/postgres/configuration/PostgresConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode", snapshotLockingMode);
        addPropertyIfNotNull(configBuilder, "message.key.columns", messageKeyColumns);
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "publication.name", publicationName);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "slot.max.retries", slotMaxRetries);
        addPropertyIfNotNull(configBuilder, "schema.refresh.mode", schemaRefreshMode);
        addPropertyIfNotNull(configBuilder, "database.sslmode", databaseSslmode);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "database.initial.statements", databaseInitialStatements);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "database.sslfactory", databaseSslfactory);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "snapshot.lock.timeout.ms", snapshotLockTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.dbname", databaseDbname);
        addPropertyIfNotNull(configBuilder, "database.sslkey", databaseSslkey);
        addPropertyIfNotNull(configBuilder, "snapshot.tables.order.by.row.count", snapshotTablesOrderByRowCount);
        addPropertyIfNotNull(configBuilder, "snapshot.select.statement.overrides", snapshotSelectStatementOverrides);
        addPropertyIfNotNull(configBuilder, "database.sslpassword", databaseSslpassword);
        addPropertyIfNotNull(configBuilder, "slot.failover", slotFailover);
        addPropertyIfNotNull(configBuilder, "table.exclude.list", tableExcludeList);
        addPropertyIfNotNull(configBuilder, "database.sslrootcert", databaseSslrootcert);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "slot.name", slotName);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.chunk.size", incrementalSnapshotChunkSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "lsn.flush.mode", lsnFlushMode);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "decimal.handling.mode", decimalHandlingMode);
        addPropertyIfNotNull(configBuilder, "binary.handling.mode", binaryHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode.custom.name", snapshotQueryModeCustomName);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "table.ignore.builtin", tableIgnoreBuiltin);
        addPropertyIfNotNull(configBuilder, "schema.exclude.list", schemaExcludeList);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "slot.drop.on.stop", slotDropOnStop);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.isolation.mode", snapshotIsolationMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "table.include.list", tableIncludeList);
        addPropertyIfNotNull(configBuilder, "slot.stream.params", slotStreamParams);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "database.query.timeout.ms", databaseQueryTimeoutMs);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "schema.include.list", schemaIncludeList);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.ms", lsnFlushTimeoutMs);
        addPropertyIfNotNull(configBuilder, "unavailable.value.placeholder", unavailableValuePlaceholder);
        addPropertyIfNotNull(configBuilder, "heartbeat.action.query", heartbeatActionQuery);
        addPropertyIfNotNull(configBuilder, "replica.identity.autoset.values", replicaIdentityAutosetValues);
        addPropertyIfNotNull(configBuilder, "database.sslcert", databaseSslcert);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "interval.handling.mode", intervalHandlingMode);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "status.update.interval.ms", statusUpdateIntervalMs);
        addPropertyIfNotNull(configBuilder, "database.user", databaseUser);
        addPropertyIfNotNull(configBuilder, "datatype.propagate.source.type", datatypePropagateSourceType);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "column.include.list", columnIncludeList);
        addPropertyIfNotNull(configBuilder, "plugin.name", pluginName);
        addPropertyIfNotNull(configBuilder, "column.propagate.source.type", columnPropagateSourceType);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.password", databasePassword);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "message.prefix.include.list", messagePrefixIncludeList);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "hstore.handling.mode", hstoreHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.locking.mode.custom.name", snapshotLockingModeCustomName);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.query.mode", snapshotQueryMode);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "slot.retry.delay.ms", slotRetryDelayMs);
        addPropertyIfNotNull(configBuilder, "include.schema.comments", includeSchemaComments);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "database.tcpKeepAlive", databaseTcpkeepalive);
        addPropertyIfNotNull(configBuilder, "publication.autocreate.mode", publicationAutocreateMode);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "publish.via.partition.root", publishViaPartitionRoot);
        addPropertyIfNotNull(configBuilder, "xmin.fetch.interval.ms", xminFetchIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "time.precision.mode", timePrecisionMode);
        addPropertyIfNotNull(configBuilder, "message.prefix.exclude.list", messagePrefixExcludeList);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "lsn.flush.timeout.action", lsnFlushTimeoutAction);
        addPropertyIfNotNull(configBuilder, "database.port", databasePort);
        addPropertyIfNotNull(configBuilder, "column.exclude.list", columnExcludeList);
        addPropertyIfNotNull(configBuilder, "include.unknown.datatypes", includeUnknownDatatypes);
        addPropertyIfNotNull(configBuilder, "database.hostname", databaseHostname);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        
        return configBuilder.build();
    }
Pair #3601 Negative (Non-Clone)
ID: 190_210
ClassID: 190
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        final SalesforceEndpointConfig configuration = endpoint.getConfiguration();
        this.notFoundBehaviour = configuration.getNotFoundBehaviour();
        final SalesforceComponent salesforceComponent = endpoint.getComponent();
        if (restClient == null) {
            this.restClient = salesforceComponent.createRestClientFor(endpoint);
        }
        ServiceHelper.startService(restClient);
    }
ID: 1004_863
ClassID: 1004
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
Name: org.apache.camel.component.olingo2.Olingo2Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            final String resourcePath = (String) properties.get(RESOURCE_PATH_PROPERTY);
            if (resourcePath == null) {
                throw new IllegalArgumentException(
                        "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                   + "', or exchange header '"
                                                   + Olingo2Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
            }

             
            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + keyPredicate + ')');
        }

         
        parseQueryParams(properties);
    }
Pair #3602 Negative (Non-Clone)
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
ID: 2091_1681
ClassID: 2091
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.pollNamedFile()
    private SftpRemoteFile[] pollNamedFile() {
        SftpRemoteFile[] files = null;

         
         
        Exchange dummy = ExchangeHelper.getDummy(getEndpoint().getCamelContext());
        String name = evaluateFileExpression(dummy);
        if (name != null) {
            SftpRemoteFile file = new SftpRemoteFileSingle(name);
            files = new SftpRemoteFile[1];
            files[0] = file;
        }

        return files;
    }
Pair #3603 Negative (Non-Clone)
ID: 2047_1662
ClassID: 2047
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
Name: org.apache.camel.component.file.strategy.FileProcessStrategyFactory.newStrategyForChanged(Map<String, Object> params)
    private static GenericFileExclusiveReadLockStrategy<File> newStrategyForChanged(
            Map<String, Object> params) {
        GenericFileExclusiveReadLockStrategy<File> strategy;
        FileChangedExclusiveReadLockStrategy readLockStrategy = new FileChangedExclusiveReadLockStrategy();
        Long minLength = (Long) params.get("readLockMinLength");
        if (minLength != null) {
            readLockStrategy.setMinLength(minLength);
        }
        Long minAge = (Long) params.get("readLockMinAge");
        if (null != minAge) {
            readLockStrategy.setMinAge(minAge);
        }
        strategy = readLockStrategy;
        return strategy;
    }
ID: 338_385
ClassID: 338
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsSendDynamicAware.java
Name: org.apache.camel.component.jms.JmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3604 Negative (Non-Clone)
ID: 497_524
ClassID: 497
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/SpringJAXRSServerFactoryBean.java
Name: org.apache.camel.component.cxf.spring.jaxrs.SpringJAXRSServerFactoryBean.setLoggingSizeLimit(int loggingSizeLimit)
    public void setLoggingSizeLimit(int loggingSizeLimit) {
        this.loggingSizeLimit = loggingSizeLimit;
        if (loggingFeature != null) {
            getFeatures().remove(loggingFeature);
            if (loggingSizeLimit > 0) {
                loggingFeature = new LoggingFeature();
                loggingFeature.setLimit(getLoggingSizeLimit());
            } else {
                loggingFeature = new LoggingFeature();
            }
            getFeatures().add(loggingFeature);
        }
    }
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
Pair #3605 Negative (Non-Clone)
ID: 1306_1142
ClassID: 1306
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/impl/ConfigMapLeaseResourceManager.java
Name: org.apache.camel.component.kubernetes.cluster.lock.impl.ConfigMapLeaseResourceManager.formatDate(Date date)
    private static String formatDate(Date date) {
        if (date == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(DATE_TIME_FORMAT).format(date);
        } catch (Exception e) {
            LOG.warn("Unable to format date '{}' using format {}", date, DATE_TIME_FORMAT, e);
        }

        return null;
    }
ID: 2191_1728
ClassID: 2191
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanBlockStoragesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanBlockStoragesProducer.attachVolumeToDroplet(Exchange exchange)
    private void attachVolumeToDroplet(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {
        String volumeId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, String.class);
        String volumeName = exchange.getIn().getHeader(DigitalOceanHeaders.VOLUME_NAME, String.class);
        Integer dropletId = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_ID, Integer.class);
        String region = exchange.getIn().getHeader(DigitalOceanHeaders.REGION, String.class);

        if (ObjectHelper.isEmpty(dropletId)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.DROPLET_ID + " must be specified");
        }

        if (ObjectHelper.isEmpty(region)) {
            throw new IllegalArgumentException(DigitalOceanHeaders.REGION + " must be specified");
        }

        Action action;

        if (ObjectHelper.isNotEmpty(volumeName)) {
            action = getEndpoint().getDigitalOceanClient().attachVolumeByName(dropletId, volumeName, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeName, dropletId, action);
        } else if (ObjectHelper.isNotEmpty(volumeId)) {
            action = getEndpoint().getDigitalOceanClient().attachVolume(dropletId, volumeId, region);
            LOG.trace("Attach Volume {} to Droplet {} [{}] ", volumeId, dropletId, action);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.VOLUME_NAME + " must be specified");
        }

        exchange.getMessage().setBody(action);
    }
Pair #3606 Negative (Non-Clone)
ID: 1937_1586
ClassID: 1937
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultMessageHistoryFactory.java
Name: org.apache.camel.impl.engine.DefaultMessageHistoryFactory.newMessageHistory(String routeId, NamedNode node, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode node, Exchange exchange) {
        if (nodePatternParts != null) {
            String name = node.getShortName();
            for (String part : nodePatternParts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        DefaultMessageHistory answer = new DefaultMessageHistory(routeId, node, msg);
        answer.setAcceptDebugger(node.acceptDebugger(exchange));
        return answer;
    }
ID: 3109_2394
ClassID: 3109
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/RouteConfigurationsDefinition.java
Name: org.apache.camel.model.RouteConfigurationsDefinition.createRouteConfiguration(String id)
    protected RouteConfigurationDefinition createRouteConfiguration(String id) {
        RouteConfigurationDefinition config = new RouteConfigurationDefinition();
        if (id != null) {
            config.setId(id);
        }
        if (resource != null) {
            config.setResource(resource);
        }
        CamelContextAware.trySetCamelContext(config, camelContext);
        return config;
    }
Pair #3607 Negative (Non-Clone)
ID: 1309_1168
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.eventReceived(Action action, ConfigMap resource)
                public void eventReceived(Action action, ConfigMap resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
Pair #3608 Negative (Non-Clone)
ID: 1780_1462
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpSocketConsumerRunnable.TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer, Hl7Util hl7Util, boolean logPhi)
    public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
                                     Hl7Util hl7Util, boolean logPhi) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;
        this.hl7Util = hl7Util;
        this.logPhi = logPhi;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
ID: 2658_2332
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetVariableProcessor.java
Name: org.apache.camel.processor.SetVariableProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newVariable = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            String key = variableName.evaluate(exchange, String.class);
            ExchangeHelper.setVariable(exchange, key, newVariable);
        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #3609 Negative (Non-Clone)
ID: 1402_1249
ClassID: 1402
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppReplaceSmCommand.java
Name: org.apache.camel.component.smpp.SmppReplaceSmCommand.createReplaceSmTempate(Exchange exchange)
    protected ReplaceSm createReplaceSmTempate(Exchange exchange) {
        Message in = exchange.getIn();
        ReplaceSm replaceSm = new ReplaceSm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            replaceSm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            replaceSm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            replaceSm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            replaceSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            replaceSm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            replaceSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            replaceSm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
            replaceSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, Byte.class));
        } else {
            replaceSm.setRegisteredDelivery(config.getRegisteredDelivery());
        }

        if (in.getHeaders().containsKey(SmppConstants.SCHEDULE_DELIVERY_TIME)) {
            replaceSm.setScheduleDeliveryTime(
                    SmppUtils.formatTime(in.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, Date.class)));
        }

        if (in.getHeaders().containsKey(SmppConstants.VALIDITY_PERIOD)) {
            Object validityPeriod = in.getHeader(SmppConstants.VALIDITY_PERIOD);
            if (validityPeriod instanceof String) {
                replaceSm.setValidityPeriod((String) validityPeriod);
            } else if (validityPeriod instanceof Date) {
                replaceSm.setValidityPeriod(SmppUtils.formatTime((Date) validityPeriod));
            }
        }

        return replaceSm;
    }
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
Pair #3610 Negative (Non-Clone)
ID: 778_704
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createKVSecret(Exchange exchange)
    private void createKVSecret(Exchange exchange) {
        KVSecretPrototype.Builder kvSecretResourceBuilder = new KVSecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            kvSecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        Map<String, Object> data = exchange.getMessage().getBody(Map.class);
        if (ObjectHelper.isEmpty(data)) {
            throw new IllegalArgumentException(
                    "Secret data must be provided as a Map in the message body for createKVSecret operation.");
        }
        kvSecretResourceBuilder.data(data);
        kvSecretResourceBuilder.secretType(KVSecretPrototype.SecretType.KV);
        KVSecretPrototype kvSecretResource = kvSecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(kvSecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3611 Negative (Non-Clone)
ID: 1435_1299
ClassID: 1435
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.parseApplicationPkcs7MimeCompressedDataEntityBody(AS2SessionInputBuffer inbuffer, InputStream is, String boundary, ContentType contentType, String contentTransferEncoding)
    public static ApplicationPkcs7MimeCompressedDataEntity parseApplicationPkcs7MimeCompressedDataEntityBody(
            AS2SessionInputBuffer inbuffer,
            InputStream is,
            String boundary,
            ContentType contentType,
            String contentTransferEncoding)
            throws ParseException {

        CharsetDecoder previousDecoder = inbuffer.getCharsetDecoder();

        try {
            byte[] compressedContent = parseBodyPartBytes(inbuffer, is, boundary, contentType, contentTransferEncoding);
            return new ApplicationPkcs7MimeCompressedDataEntity(compressedContent, contentTransferEncoding, false);
        } catch (Exception e) {
            ParseException parseException = new ParseException("failed to parse PKCS7 Mime entity");
            parseException.initCause(e);
            throw parseException;
        } finally {
            inbuffer.setCharsetDecoder(previousDecoder);
        }
    }
ID: 741_667
ClassID: 741
File: systems/camel-java/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
Name: org.apache.camel.maven.config.ConnectorConfigField.getType(final ConfigDef.Type type)
    private Class<?> getType(final ConfigDef.Type type) {
        switch (type) {
            case INT:
                return Integer.TYPE;
            case SHORT:
                return Short.TYPE;
            case DOUBLE:
                return Double.TYPE;
            case STRING:
            case PASSWORD:
            case CLASS:
            case LIST:
                return String.class;
            case BOOLEAN:
                return Boolean.TYPE;
            case LONG:
                return Long.TYPE;
            default:
                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
        }
    }
Pair #3612 Negative (Non-Clone)
ID: 3204_2468
ClassID: 3204
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
Name: org.apache.camel.main.MainDurationEventNotifier.triggerIdleEvent()
    private void triggerIdleEvent() {
        if (action == Action.SHUTDOWN) {
            LOG.info("Duration max idle triggering shutdown of the JVM");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::shutdownTask).start();
        } else if (action == Action.STOP) {
            LOG.info("Duration max idle triggering stopping all routes");
             
            camelContext.getExecutorServiceManager().newThread("CamelMainShutdownCamelContext", this::stopTask).start();
        }
    }
ID: 658_594
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/producer/VolumeProducer.java
Name: org.apache.camel.component.openstack.cinder.producer.VolumeProducer.messageToVolume(Message message)
    private Volume messageToVolume(Message message) {
        Volume volume = message.getBody(Volume.class);
        if (volume == null) {
            Map headers = message.getHeaders();
            VolumeBuilder builder = Builders.volume();

            final String name = message.getHeader(OpenstackConstants.NAME, String.class);
            StringHelper.notEmpty(name, "Name ");
            builder.name(name);

            if (headers.containsKey(OpenstackConstants.DESCRIPTION)) {
                builder.description(message.getHeader(OpenstackConstants.DESCRIPTION, String.class));
            }

            if (headers.containsKey(CinderConstants.SIZE)) {
                builder.size(message.getHeader(CinderConstants.SIZE, Integer.class));
            }

            if (headers.containsKey(CinderConstants.VOLUME_TYPE)) {
                builder.volumeType(message.getHeader(CinderConstants.VOLUME_TYPE, String.class));
            }

            if (headers.containsKey(CinderConstants.IMAGE_REF)) {
                builder.imageRef(message.getHeader(CinderConstants.IMAGE_REF, String.class));
            }

            if (headers.containsKey(CinderConstants.SNAPSHOT_ID)) {
                builder.snapshot(message.getHeader(CinderConstants.SNAPSHOT_ID, String.class));
            }

            if (headers.containsKey(CinderConstants.IS_BOOTABLE)) {
                builder.bootable(message.getHeader(CinderConstants.IS_BOOTABLE, Boolean.class));
            }

            volume = builder.build();
        }

        return volume;
    }
Pair #3613 Negative (Non-Clone)
ID: 558_539
ClassID: 558
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/UnitOfWorkCloserInterceptor.java
Name: org.apache.camel.component.cxf.common.UnitOfWorkCloserInterceptor.handleMessage(Message message)
    public void handleMessage(Message message) throws Fault {
        if (handleOneWayMessage) {
            if (isOneWay(message)) {
                CxfUtils.closeCamelUnitOfWork(message);
            }
        } else {  
            CxfUtils.closeCamelUnitOfWork(message);
        }
    }
ID: 1253_1091
ClassID: 1253
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandlerReifier.java
Name: org.apache.camel.jta.JtaTransactionErrorHandlerReifier.createErrorHandler(final Processor processor)
    public Processor createErrorHandler(final Processor processor) throws Exception {
        JtaTransactionPolicy transactionPolicy = resolveTransactionPolicy(definition);
        ObjectHelper.notNull(transactionPolicy, "transactionPolicy", this);

         
        RedeliveryPolicy redeliveryPolicy = resolveRedeliveryPolicy(definition, camelContext);
        CamelLogger logger = resolveLogger(definition);
        LoggingLevel rollbackLoggingLevel = resolveRollbackLoggingLevel(definition);

        JtaTransactionErrorHandler answer = new JtaTransactionErrorHandler(
                camelContext, processor, logger,
                getProcessor(definition.getOnRedeliveryProcessor(), definition.getOnRedeliveryRef()),
                redeliveryPolicy,
                transactionPolicy,
                resolveRetryWhilePolicy(definition, camelContext),
                getExecutorService(definition.getExecutorServiceBean(), definition.getExecutorServiceRef()),
                rollbackLoggingLevel,
                getProcessor(definition.getOnExceptionOccurredProcessor(), definition.getOnExceptionOccurredRef()));

         
        configure(answer);
        return answer;
    }
Pair #3614 Negative (Non-Clone)
ID: 835_715
ClassID: 835
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMqtt5Message paho = new PahoMqtt5Message(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoMqtt5Constants.MQTT_TOPIC, topic);
        paho.setHeader(PahoMqtt5Constants.MQTT_QOS, mqttMessage.getQos());
        paho.setHeader(PahoMqtt5Constants.CAMEL_PAHO_MSG_PROPERTIES, mqttMessage.getProperties());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID: {} due to {}", mqttMessage.getId(), e.getMessage(), e);
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.debug("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId());
                }
            });
        }
        return exchange;
    }
ID: 240_302
ClassID: 240
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("secret")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("secret");
            if (pf instanceof SecretPropertiesFunction) {
                propertiesFunction = (SecretPropertiesFunction) pf;
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null && kubernetes.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(SecretsReloadTriggerTask.class);
        }
    }
Pair #3615 Negative (Non-Clone)
ID: 1905_1569
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.userSelectedPropertiesMDC(Exchange exchange, boolean push)
    private void userSelectedPropertiesMDC(Exchange exchange, boolean push) {
        for (String customProperty : getCustomProperties().split(",")) {
            if (exchange.getProperty(customProperty) != null) {
                if (push) {
                    MDC.put(customProperty, exchange.getProperty(customProperty, String.class));
                } else {
                    MDC.remove(customProperty);
                }
            }
        }
    }
ID: 1307_1145
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsConsumer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes Pods Consumer");
        if (executor != null) {
            KubernetesHelper.close(podsWatcher, podsWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3616 Negative (Non-Clone)
ID: 3334_2733
ClassID: 3334
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.memorize(Supplier<T> supplier)
    public static <T> Supplier<T> memorize(Supplier<T> supplier) {
        final AtomicReference<T> valueHolder = new AtomicReference<>();
        return new Supplier<>() {
            @Override
            public T get() {
                T supplied = valueHolder.get();
                if (supplied == null) {
                    synchronized (valueHolder) {
                        supplied = valueHolder.get();
                        if (supplied == null) {
                            supplied = Objects.requireNonNull(supplier.get(), "Supplier should not return null");
                            valueHolder.lazySet(supplied);
                        }
                    }
                }
                return supplied;
            }
        };
    }
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
Pair #3617 Negative (Non-Clone)
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
ID: 2451_1941
ClassID: 2451
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther.collectRows()
    List<Row> collectRows() {
        List<Row> rows = new ArrayList<>();
        for (String name : catalog.findOtherNames()) {
            OtherModel model = catalog.otherModel(name);
            if (model != null) {
                Row row = new Row();
                row.name = model.getName();
                row.title = model.getTitle();
                row.level = model.getSupportLevel().name();
                row.since = model.getFirstVersionShort();
                row.description = model.getDescription();
                row.label = model.getLabel() != null ? model.getLabel() : "";
                row.deprecated = model.isDeprecated();
                row.nativeSupported = model.isNativeSupported();
                row.gav = getGAV(model);
                rows.add(row);
            }
        }
        return rows;
    }
Pair #3618 Negative (Non-Clone)
ID: 3247_2586
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEventNotifierStrategies()
    private void setupEventNotifierStrategies() {
        Map<String, EventNotifier> eventNotifiers = getContext().getRegistry().findByTypeWithName(EventNotifier.class);
        if (eventNotifiers != null && !eventNotifiers.isEmpty()) {
            for (Entry<String, EventNotifier> entry : eventNotifiers.entrySet()) {
                EventNotifier notifier = entry.getValue();
                 
                if (!getContext().getManagementStrategy().getEventNotifiers().contains(notifier)) {
                    LOG.info("Using custom EventNotifier with id: {} and implementation: {}", entry.getKey(), notifier);
                    getContext().getManagementStrategy().addEventNotifier(notifier);
                }
            }
        }
    }
ID: 1871_1539
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
Pair #3619 Negative (Non-Clone)
ID: 119_107
ClassID: 119
File: systems/camel-java/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
Name: org.apache.camel.component.crypto.DigitalSignatureConfiguration.setPrivateKeyName(String privateKeyName)
    public void setPrivateKeyName(String privateKeyName) {
        if (context != null && privateKeyName != null) {
            PrivateKey pk = context.getRegistry().lookupByNameAndType(privateKeyName, PrivateKey.class);
            if (pk != null) {
                setPrivateKey(pk);
            }
        }
        if (privateKeyName != null) {
            this.privateKeyName = privateKeyName;
        }
    }
ID: 2456_1954
ClassID: 2456
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.createMavenPom(Path settings, Path profile, Path pom, Set<String> deps)
    private void createMavenPom(Path settings, Path profile, Path pom, Set<String> deps) throws Exception {
        String[] ids = gav.split(":");

        Properties prop = new CamelCaseOrderedProperties();
        RuntimeUtil.loadProperties(prop, settings);
        String repos = getMavenRepositories(settings, prop, camelSpringBootVersion);

        CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download);
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = catalog.getLoadedVersion();
        }
        if (ObjectHelper.isEmpty(camelVersion)) {
            camelVersion = VersionHelper.extractCamelVersion();
        }

         
         
        String context;
        InputStream template = catalog.loadResource("camel-jbang", pomTemplateName);
        if (template != null) {
            context = IOHelper.loadText(template);
        } else {
            context = readResourceTemplate("templates/" + pomTemplateName);
        }

        context = context.replaceAll("\\{\\{ \\.GroupId }}", ids[0]);
        context = context.replaceAll("\\{\\{ \\.ArtifactId }}", ids[1]);
        context = context.replaceAll("\\{\\{ \\.Version }}", ids[2]);
        context = context.replaceAll("\\{\\{ \\.SpringBootVersion }}", springBootVersion);
        context = context.replaceAll("\\{\\{ \\.JavaVersion }}", javaVersion);
        context = context.replaceAll("\\{\\{ \\.CamelVersion }}", camelVersion);
        context = context.replaceAll("\\{\\{ \\.CamelSpringBootVersion }}",
                Objects.requireNonNullElseGet(camelSpringBootVersion, () -> camelVersion));
        context = context.replaceFirst("\\{\\{ \\.ProjectBuildOutputTimestamp }}", this.getBuildMavenProjectDate());

        context = replaceBuildProperties(context);

        if (repos == null || repos.isEmpty()) {
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", "");
        } else {
            String s = mavenRepositoriesAsPomXml(repos);
            context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", s);
        }

        List<MavenGav> gavs = new ArrayList<>();
        for (String dep : deps) {
            MavenGav gav = parseMavenGav(dep);
            String gid = gav.getGroupId();
            String aid = gav.getArtifactId();

             
            if ("org.apache.camel".equals(gid)) {
                ArtifactModel<?> am = catalog.modelFromMavenGAV("org.apache.camel.springboot", aid + "-starter", null);
                if (am != null) {
                     
                    gav.setGroupId(am.getGroupId());
                    gav.setArtifactId(am.getArtifactId());
                    gav.setVersion(null);  
                } else {
                     
                    gav.setVersion(camelVersion);
                }
            }
             
            if ("org.springframework.boot".equals(gid)) {
                gav.setVersion(null);  
            }
            gavs.add(gav);
        }

         
        gavs.sort(mavenGavComparator());

        StringBuilder sb = new StringBuilder();
        for (MavenGav gav : gavs) {
            sb.append("        <dependency>\n");
            sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
            sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
            if (gav.getVersion() != null) {
                sb.append("            <version>").append(gav.getVersion()).append("</version>\n");
            }
            if (gav.getScope() != null) {
                sb.append("            <scope>").append(gav.getScope()).append("</scope>\n");
            }
            if ("lib".equals(gav.getPackaging())) {
                 
                sb.append("            <scope>system</scope>\n");
                sb.append("            <systemPath>\\$\\{project.basedir}/lib/").append(gav.getArtifactId()).append("-")
                        .append(gav.getVersion()).append(".jar</systemPath>\n");
            } else if ("camel-kamelets-utils".equals(gav.getArtifactId())) {
                 
                sb.append("            <exclusions>\n");
                sb.append("                <exclusion>\n");
                sb.append("                    <groupId>org.apache.camel</groupId>\n");
                sb.append("                    <artifactId>*</artifactId>\n");
                sb.append("                </exclusion>\n");
                sb.append("            </exclusions>\n");
            }
            sb.append("        </dependency>\n");
        }
        context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());

        IOHelper.writeText(context, Files.newOutputStream(pom));
    }
Pair #3620 Negative (Non-Clone)
ID: 765_682
ClassID: 765
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-discovery/src/main/java/org/apache/camel/component/ibm/watson/discovery/WatsonDiscoveryProducer.java
Name: org.apache.camel.component.ibm.watson.discovery.WatsonDiscoveryProducer.determineOperation(Exchange exchange)
    private WatsonDiscoveryOperations determineOperation(Exchange exchange) {
        WatsonDiscoveryOperations operation
                = exchange.getIn().getHeader(WatsonDiscoveryConstants.OPERATION, WatsonDiscoveryOperations.class);

        if (operation == null) {
            operation = getEndpoint().getConfiguration().getOperation();
        }

        if (operation == null) {
            throw new IllegalArgumentException("Operation must be specified");
        }

        return operation;
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #3621 Negative (Non-Clone)
ID: 244_318
ClassID: 244
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerPropertiesFunction.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerPropertiesFunction.getSecretFromSource(String key, String subkey, String defaultValue, String version)
    private String getSecretFromSource(
            String key, String subkey, String defaultValue, String version)
            throws JsonProcessingException {

         
        secrets.add(key);

        String returnValue = null;
        try {
            SecretVersionName secretVersionName
                    = SecretVersionName.of(projectId, key, ObjectHelper.isNotEmpty(version) ? version : "latest");
            AccessSecretVersionResponse response = client.accessSecretVersion(secretVersionName);
            if (ObjectHelper.isNotEmpty(response)) {
                returnValue = response.getPayload().getData().toStringUtf8();
            }
            if (ObjectHelper.isNotEmpty(subkey) && ObjectHelper.isNotEmpty(returnValue)) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode actualObj = mapper.readTree(returnValue);
                JsonNode field = actualObj.get(subkey);
                if (ObjectHelper.isNotEmpty(field)) {
                    returnValue = field.textValue();
                } else {
                    returnValue = null;
                }
            }
            if (ObjectHelper.isEmpty(returnValue)) {
                returnValue = defaultValue;
            }
        } catch (ApiException ex) {
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                returnValue = defaultValue;
            } else {
                throw ex;
            }
        }
        return returnValue;
    }
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
Pair #3622 Negative (Non-Clone)
ID: 678_603
ClassID: 678
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
Name: org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory.newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange)
    public MessageHistory newMessageHistory(String routeId, NamedNode namedNode, Exchange exchange) {
        if (nodePattern != null) {
            String name = namedNode.getShortName();
            String[] parts = nodePattern.split(",");
            for (String part : parts) {
                boolean match = PatternHelper.matchPattern(name, part);
                if (!match) {
                    return null;
                }
            }
        }

        Message msg = null;
        if (copyMessage) {
            msg = exchange.getMessage().copy();
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            return new MicrometerMessageHistory(getMeterRegistry(), route, namedNode, getNamingStrategy(), msg);
        } else {
            return null;
        }
    }
ID: 3107_2391
ClassID: 3107
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters)
    protected void postProcessFactoryParameters(CamelContext camelContext, Map<String, Object> parameters) throws Exception {
        List<String> servers = List.class.cast(parameters.get("servers"));

        if (ObjectHelper.isNotEmpty(servers)) {
            final ListIterator<String> it = servers.listIterator();
            while (it.hasNext()) {
                it.set(camelContext.resolvePropertyPlaceholders(it.next()));
            }

            parameters.put("servers", servers);
        }
    }
Pair #3623 Negative (Non-Clone)
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 1427_1277
ClassID: 1427
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/ApplicationPkcs7MimeCompressedDataEntity.java
Name: org.apache.camel.component.as2.api.entity.ApplicationPkcs7MimeCompressedDataEntity.writeTo(OutputStream outstream)
    public void writeTo(OutputStream outstream) throws IOException {
        NoCloseOutputStream ncos = new NoCloseOutputStream(outstream);

         
        if (!isMainBody()) {
            try (CanonicalOutputStream canonicalOutstream = new CanonicalOutputStream(ncos, StandardCharsets.US_ASCII.name())) {

                for (Header header : getAllHeaders()) {
                    canonicalOutstream.writeln(header.toString());
                }
                canonicalOutstream.writeln();  
                                              
                                              
            }
        }

         
        String transferEncoding = getContentTransferEncoding() == null ? null : getContentTransferEncoding().getValue();
        try (OutputStream transferEncodedStream = EntityUtils.encode(ncos, transferEncoding)) {

            transferEncodedStream.write(compressedData);
        } catch (Exception e) {
            throw new IOException("Failed to write to output stream", e);
        }
    }
Pair #3624 Negative (Non-Clone)
ID: 1318_1222
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsDevConsole.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            root.put("masterUrl", propertiesFunction.getClient().getMasterUrl().toString());
            root.put("login", "OAuth Token");
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (cmRefreshTask != null) {
            Instant start = cmRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("configmaps", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 3276_2653
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.and(final Predicate left, final Predicate right)
    public static Predicate and(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) && right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") and (" + right + ")";
            }
        };
    }
Pair #3625 Negative (Non-Clone)
ID: 3098_2363
ClassID: 3098
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.apiDocs(Boolean apiDocs)
    public RestDefinition apiDocs(Boolean apiDocs) {
        if (getVerbs().isEmpty()) {
            this.apiDocs = apiDocs != null ? apiDocs.toString() : null;
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setApiDocs(apiDocs != null ? apiDocs.toString() : null);
        }

        return this;
    }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #3626 Negative (Non-Clone)
ID: 307_373
ClassID: 307
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/CqlSpanDecorator.java
Name: org.apache.camel.tracing.decorators.CqlSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
Pair #3627 Negative (Non-Clone)
ID: 2492_2040
ClassID: 2492
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitHelper.configureConnects(Traits traitsSpec, String[] connects)
    public static void configureConnects(Traits traitsSpec, String[] connects) {
        if (connects == null || connects.length == 0) {
            return;
        }
        ServiceBinding serviceBindingTrait = Optional.ofNullable(traitsSpec.getServiceBinding()).orElseGet(ServiceBinding::new);
        if (serviceBindingTrait.getServices() == null) {
            serviceBindingTrait.setServices(new ArrayList<>());
        }
        serviceBindingTrait.getServices().addAll(List.of(connects));
        traitsSpec.setServiceBinding(serviceBindingTrait);
    }
ID: 572_544
ClassID: 572
File: systems/camel-java/components/camel-cxf/camel-cxf-spring-soap/src/main/java/org/apache/camel/component/cxf/spring/jaxws/CxfSpringEndpointUtils.java
Name: org.apache.camel.component.cxf.spring.jaxws.CxfSpringEndpointUtils.getServiceName(final CxfEndpoint endpoint)
    public static QName getServiceName(final CxfEndpoint endpoint) {
        QName answer = endpoint.getServiceNameAsQName();
        if (answer == null) {
            String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_LOCALNAME);
            String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint) endpoint, CxfConstants.SERVICE_NAMESPACE);
            if (serviceLocalName != null) {
                answer = new QName(serviceNamespace, serviceLocalName);
            }
        }
        return answer;
    }
Pair #3628 Negative (Non-Clone)
ID: 444_472
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketDelimiterDecoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketDelimiterDecoder.decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void decode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof ByteBuf) {
            ByteBuf payload = (ByteBuf) msg.content();
            Object result = delegateDecoder.decode(ctx, payload);
            AddressedEnvelope<Object, InetSocketAddress> addressEvelop
                    = new DefaultAddressedEnvelope<>(result, msg.recipient(), msg.sender());
            out.add(addressEvelop);
        } else {
            LOG.debug("Ignoring message content as it is not an io.netty.buffer.ByteBuf instance.");
        }
    }
ID: 3170_2438
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsXml(Integer index, Boolean includeBody)
    public String browseMessageAsXml(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsXml(msg, includeBody);
    }
Pair #3629 Negative (Non-Clone)
ID: 194_221
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeResponseRaw(final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeResponseRaw(
            final Exchange exchange, final Optional<InputStream> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final InputStream response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 3230_2542
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileSizeExpression()
    public static Expression fileSizeExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader(Exchange.FILE_LENGTH, Long.class);
            }

            @Override
            public String toString() {
                return "file:length";
            }
        };
    }
Pair #3630 Negative (Non-Clone)
ID: 3222_2509
ClassID: 3222
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/BooleanExpression.java
Name: org.apache.camel.language.simple.ast.BooleanExpression.createExpression(CamelContext camelContext, String expression)
    public Expression createExpression(CamelContext camelContext, String expression) throws SimpleParserException {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                if (type == Object.class || type == Boolean.class || type == boolean.class) {
                    return (T) Boolean.valueOf(value);
                }
                return camelContext.getTypeConverter().tryConvertTo(type, exchange, value);
            }

            @Override
            public String toString() {
                return String.valueOf(value);
            }
        };
    }
ID: 1282_1133
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.saveEdge()
    private Function<Exchange, Object> saveEdge() {
        return exchange -> {
            try {
                ArangoEdgeCollection edgeCollection = calculateEdgeCollection();
                Object edgeDocument = exchange.getMessage().getMandatoryBody();
                return edgeCollection.insertEdge(edgeDocument);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
Pair #3631 Negative (Non-Clone)
ID: 189_204
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCloseJob(final Exchange exchange, final AsyncCallback callback)
    private void processCloseJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.closeJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #3632 Negative (Non-Clone)
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
ID: 189_205
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processAbortJob(final Exchange exchange, final AsyncCallback callback)
    private void processAbortJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.abortJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
Pair #3633 Negative (Non-Clone)
ID: 1614_1390
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnBodyPart(BodyPart part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        if (contentType != null) {
            LOG.trace("Using Content-Type {} for BodyPart: {}", contentType, part);

             
            String data = exchange.getContext().getTypeConverter().tryConvertTo(String.class, exchange.getIn().getBody());
             
            data = data != null ? data : "";

            DataSource ds = new ByteArrayDataSource(data, contentType);
            part.setDataHandler(new DataHandler(ds));

             
            part.setHeader("Content-Type", contentType);
        }

        return contentType;
    }
ID: 2667_2352
ClassID: 2667
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.hasFailed(Exchange exchange)
    private boolean hasFailed(Exchange exchange) {
        if (exchange == null) {
            return false;
        }

        boolean answer = false;

        if (exchange.getException() != null) {
            if (throttledExceptions == null || throttledExceptions.isEmpty()) {
                 
                 
                answer = true;
            } else {
                for (Class<?> exception : throttledExceptions) {
                     
                    if (exchange.getException(exception) != null) {
                        answer = true;
                        break;
                    }
                }
            }
        }

        if (LOG.isDebugEnabled()) {
            String exceptionName
                    = exchange.getException() == null ? "none" : exchange.getException().getClass().getSimpleName();
            LOG.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName,
                    exchange.getExchangeId());
        }
        return answer;
    }
Pair #3634 Negative (Non-Clone)
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
ID: 999_853
ClassID: 999
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createApiProxy(Olingo2Configuration endpointConfiguration)
    public Olingo2AppWrapper createApiProxy(Olingo2Configuration endpointConfiguration) {
        final Olingo2AppWrapper result;
        if (endpointConfiguration.equals(getConfiguration())) {
            lock.lock();
            try {
                if (apiProxy == null) {
                    apiProxy = createOlingo2App(getConfiguration());
                }
            } finally {
                lock.unlock();
            }
            result = apiProxy;
        } else {
            result = createOlingo2App(endpointConfiguration);
        }
        return result;
    }
Pair #3635 Negative (Non-Clone)
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
ID: 933_809
ClassID: 933
File: systems/camel-java/components/camel-ai/camel-langchain4j-embeddings/src/generated/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsConverterLoader.java
Name: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, float[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((float[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.embedding.Embedding.class, java.util.List.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toEmbedding((java.util.List) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, dev.langchain4j.data.segment.TextSegment.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsConverter.toTextSegment((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3636 Negative (Non-Clone)
ID: 3230_2531
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileNameNoExtensionExpression()
    public static Expression fileNameNoExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.stripExt(name);
            }

            @Override
            public String toString() {
                return "file:name.noext";
            }
        };
    }
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
Pair #3637 Negative (Non-Clone)
ID: 893_747
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-qdrant/src/main/java/org/apache/camel/component/qdrant/QdrantEndpoint.java
Name: org.apache.camel.component.qdrant.QdrantEndpoint.getClient()
    public QdrantClient getClient() {
        if (this.client == null) {
            lock.lock();
            try {
                if (this.client == null) {
                    this.client = this.configuration.getClient();
                    this.closeClient = false;

                    if (this.client == null) {
                        this.client = createClient();
                        this.closeClient = true;
                    }
                }
            } finally {
                lock.unlock();
            }
        }

        return this.client;
    }
ID: 1780_1461
ClassID: 1780
File: systems/camel-java/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpServerConsumerValidationRunnable.java
Name: org.apache.camel.component.mllp.internal.TcpServerConsumerValidationRunnable.TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer)
    public TcpServerConsumerValidationRunnable(MllpTcpServerConsumer consumer, Socket clientSocket,
                                               MllpSocketBuffer mllpBuffer) {
        this.consumer = consumer;
         
        this.clientSocket = clientSocket;

        SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
        if (localSocketAddress != null) {
            localAddress = localSocketAddress.toString();
        } else {
            localAddress = null;
        }

        SocketAddress remoteSocketAddress = clientSocket.getRemoteSocketAddress();
        if (remoteSocketAddress != null) {
            remoteAddress = remoteSocketAddress.toString();
        } else {
            remoteAddress = null;
        }

        combinedAddress = MllpSocketBuffer.formatAddressString(remoteSocketAddress, localSocketAddress);

        try {
            if (consumer.getConfiguration().hasKeepAlive()) {
                this.clientSocket.setKeepAlive(consumer.getConfiguration().getKeepAlive());
            }
            if (consumer.getConfiguration().hasTcpNoDelay()) {
                this.clientSocket.setTcpNoDelay(consumer.getConfiguration().getTcpNoDelay());
            }
            if (consumer.getConfiguration().hasReceiveBufferSize()) {
                this.clientSocket.setReceiveBufferSize(consumer.getConfiguration().getReceiveBufferSize());
            }
            if (consumer.getConfiguration().hasSendBufferSize()) {
                this.clientSocket.setSendBufferSize(consumer.getConfiguration().getSendBufferSize());
            }

            this.clientSocket.setSoLinger(false, -1);

             
            this.clientSocket.setSoTimeout(consumer.getConfiguration().getReceiveTimeout());
        } catch (IOException initializationException) {
            throw new IllegalStateException("Failed to initialize " + this.getClass().getSimpleName(), initializationException);
        }

        if (mllpBuffer == null) {
            this.mllpBuffer = new MllpSocketBuffer(consumer.getEndpoint());
        } else {
            this.mllpBuffer = mllpBuffer;
        }
    }
Pair #3638 Negative (Non-Clone)
ID: 3243_2573
ClassID: 3243
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JsonPathExpressionReifier.java
Name: org.apache.camel.reifier.language.JsonPathExpressionReifier.createProperties()
    protected Object[] createProperties() {
        Object[] properties = new Object[8];
        properties[0] = asResultType();
        properties[1] = parseString(definition.getSource());
        properties[2] = parseBoolean(definition.getSuppressExceptions());
        properties[3] = parseBoolean(definition.getAllowSimple());
        properties[4] = parseBoolean(definition.getAllowEasyPredicate());
        properties[5] = parseBoolean(definition.getWriteAsString());
        properties[6] = parseBoolean(definition.getUnpackArray());
        properties[7] = parseString(definition.getOption());
        return properties;
    }
ID: 3283_2675
ClassID: 3283
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/DefaultMaskingFormatter.java
Name: org.apache.camel.support.processor.DefaultMaskingFormatter.createKeyValueMaskPattern(Set<String> keywords)
    protected Pattern createKeyValueMaskPattern(Set<String> keywords) {
        StringBuilder regex = createOneOfThemRegex(keywords);
        if (regex == null) {
            return null;
        }
        regex.insert(0, "([\\w]*(?:");
        regex.append(")[\\w]*[\\s]*?=[\\s]*?['\"]?)([^'\",]+)");

        if (LOG.isDebugEnabled()) {
            LOG.debug("KeyValue Pattern: {}", regex);
        }
        return Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE);
    }
Pair #3639 Negative (Non-Clone)
ID: 716_658
ClassID: 716
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java
Name: org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy.process(Exchange exchange)
        public void process(Exchange exchange) throws Exception {
            Span span = null;
            OpenTelemetrySpanAdapter spanWrapper = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (spanWrapper != null) {
                span = spanWrapper.getOpenTelemetrySpan();
            }

            if (span == null) {
                target.process(exchange);
                return;
            }

            boolean activateExchange = !(target instanceof GetCorrelationContextProcessor
                    || target instanceof SetCorrelationContextProcessor);

            if (activateExchange) {
                ActiveSpanManager.activate(exchange, new OpenTelemetrySpanAdapter(span));
            }

            try {
                target.process(exchange);
            } catch (Exception ex) {
                span.setStatus(StatusCode.ERROR);
                span.recordException(ex);
                throw ex;
            } finally {
                if (activateExchange) {
                    ActiveSpanManager.deactivate(exchange);
                }
            }
        }
ID: 1541_1360
ClassID: 1541
File: systems/camel-java/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
Name: org.apache.camel.component.http.HttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "http");
        }

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("http")) {
             
            map.put("httpMethod", verb);
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        url = HttpUtil.recreateUrl(map, url);

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        HttpEndpoint endpoint = (HttpEndpoint) camelContext.getEndpoint(url, parameters);

        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new HttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
Pair #3640 Negative (Non-Clone)
ID: 1905_1570
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allHeadersMDC(Exchange exchange, boolean push)
    private void allHeadersMDC(Exchange exchange, boolean push) {
        for (String header : exchange.getIn().getHeaders().keySet()) {
            if (exchange.getIn().getHeader(header) != null) {
                if (push) {
                    MDC.put(header, exchange.getIn().getHeader(header, String.class));
                } else {
                    MDC.remove(header);
                }
            }
        }
    }
ID: 902_776
ClassID: 902
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/BatchGoogleDriveClientFactory.java
Name: org.apache.camel.component.google.drive.BatchGoogleDriveClientFactory.makeClient(String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken, String accessToken)
    public Drive makeClient(
            String clientId, String clientSecret, Collection<String> scopes, String applicationName, String refreshToken,
            String accessToken) {
        if (clientId == null || clientSecret == null) {
            throw new IllegalArgumentException("clientId and clientSecret are required to create Google Drive client.");
        }
        try {
            Credential credential = authorize(clientId, clientSecret, scopes);

            if (refreshToken != null && !refreshToken.isEmpty()) {
                credential.setRefreshToken(refreshToken);
            }
            if (accessToken != null && !accessToken.isEmpty()) {
                credential.setAccessToken(accessToken);
            }
            return new Drive.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Google Drive client.", e);
        }
    }
Pair #3641 Negative (Non-Clone)
ID: 257_331
ClassID: 257
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) {
        final int total = exchanges.size();

        for (int i = 0; i < total && isBatchAllowed(); i++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, i);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, i == total - 1);

            pendingExchanges = total - i - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    LOG.trace("Processing all exchanges completed");
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processRollback(exchange);
                }
            });
             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 1841_1502
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping Consumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping Consumer");
            }
            doStop();
        }
        if (trigger == null) {
            startUnTriggered();
        } else {
            startTriggered();
        }
    }
Pair #3642 Negative (Non-Clone)
ID: 1719_1434
ClassID: 1719
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/SkipIterator.java
Name: org.apache.camel.util.SkipIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        if (hasSkip.compareAndSet(false, true)) {
            doSkip();
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 2295_1810
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #3643 Negative (Non-Clone)
ID: 1558_1378
ClassID: 1558
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.reconnect()
    private void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
        lock.lock();
        try {
            if (!connection.isConnected()) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reconnecting to: {}", XmppEndpoint.getConnectionMessage(connection));
                }
                connection.connect();
            }
        } finally {
            lock.unlock();
        }
    }
ID: 658_587
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/GroupProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.GroupProducer.messageToGroup(Message message)
    private Group messageToGroup(Message message) {
        Group group = message.getBody(Group.class);

        if (group == null) {
            Map headers = message.getHeaders();
            GroupBuilder builder = Builders.group();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(KeystoneConstants.DOMAIN_ID)) {
                builder.domainId(message.getHeader(KeystoneConstants.DOMAIN_ID, String.class));
            }

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            group = builder.build();
        }
        return group;
    }
Pair #3644 Negative (Non-Clone)
ID: 1559_1380
ClassID: 1559
File: systems/camel-java/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java
Name: org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart()
    protected void doStart() throws Exception {
        if (connection == null) {
            try {
                connection = endpoint.createConnection();
            } catch (SmackException e) {
                if (endpoint.isTestConnectionOnStartup()) {
                    throw new RuntimeCamelException(
                            "Could not connect to XMPP server:  " + endpoint.getConnectionDescription(), e);
                } else {
                    LOG.warn("Could not connect to XMPP server. {}  Producer will attempt lazy connection when needed.",
                            e.getMessage());
                }
            }
        }

        if (chat == null && connection != null) {
            initializeChat();
        }

        super.doStart();
    }
ID: 1130_962
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.addConsumer(String key, DirectConsumer consumer)
    public void addConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            if (consumers.putIfAbsent(key, consumer) != null) {
                throw new IllegalArgumentException(
                        "Cannot add a 2nd consumer to the same endpoint: " + key
                                                   + ". DirectEndpoint only allows one consumer.");
            }
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #3645 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1218_1045
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCharges(Exchange exchange, String method)
    private Object handleCharges(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Charge.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Charge.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String chargeId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge charge = Charge.retrieve(chargeId);
                return charge.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_LIST:
                return Charge.list(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CAPTURE:
                String captureId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Charge captureCharge = Charge.retrieve(captureId);
                return captureCharge.capture(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for charges: " + method);
        }
    }
Pair #3646 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 657_581
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
Name: org.apache.camel.component.openstack.cinder.CinderEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case CinderConstants.VOLUMES:
                return new VolumeProducer(this, createClient());
            case CinderConstants.SNAPSHOTS:
                return new SnapshotProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #3647 Negative (Non-Clone)
ID: 235_291
ClassID: 235
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.isMatched(Supplier<GenericFile<FTPFile>> file, String doneFileName, FTPFile[] files)
    protected boolean isMatched(Supplier<GenericFile<FTPFile>> file, String doneFileName, FTPFile[] files) {
        String onlyName = FileUtil.stripPath(doneFileName);

        for (FTPFile f : files) {
            if (f.getName().equals(onlyName)) {
                return true;
            }
        }

        LOG.trace("Done file: {} does not exist", doneFileName);
        return false;
    }
ID: 897_754
ClassID: 897
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsConsumer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
Pair #3648 Negative (Non-Clone)
ID: 240_301
ClassID: 240
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("aws")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("aws");
            if (pf instanceof SecretsManagerPropertiesFunction) {
                propertiesFunction = (SecretsManagerPropertiesFunction) pf;
            }
        }
        AwsVaultConfiguration aws = getCamelContext().getVaultConfiguration().getAwsVaultConfiguration();
        if (aws != null && aws.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(CloudTrailReloadTriggerTask.class);
        }
    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3649 Negative (Non-Clone)
ID: 926_803
ClassID: 926
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor)
    GooglePubsubLiteConsumer(GooglePubsubLiteEndpoint endpoint, Processor processor) {
        super(endpoint, processor);
        this.endpoint = endpoint;
        this.processor = processor;
        this.subscribers = Collections.synchronizedList(new LinkedList<>());
        String loggerId = endpoint.getLoggerId();

        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }

        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 1204_1033
ClassID: 1204
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doHereNow(Exchange exchange, AsyncCallback callback)
    private void doHereNow(Exchange exchange, AsyncCallback callback) {
        endpoint.getPubnub()
                .hereNow()
                .channels(List.of(getChannel(exchange)))
                .includeState(true)
                .includeUUIDs(true)
                .async((Result<PNHereNowResult> result) -> {
                    LOG.debug("Got herNow message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNHereNowResult r = result.getOrNull();
                        processMessage(exchange, callback, r);
                    }
                });
    }
Pair #3650 Negative (Non-Clone)
ID: 2649_2309
ClassID: 2649
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
Name: org.apache.camel.impl.debugger.BacklogTracer.dumpLatestMessageHistoryAsJSon()
    public String dumpLatestMessageHistoryAsJSon() {
        List<BacklogTracerEventMessage> events = dumpLatestMessageHistory();

        JsonObject root = new JsonObject();
        JsonArray arr = new JsonArray();
        root.put("traces", arr);
        for (BacklogTracerEventMessage event : events) {
            arr.add(event.asJSon());
        }
        return Jsoner.prettyPrint(root.toJson());
    }
ID: 2232_1758
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doGc(Exchange exchange, String operation)
    protected void doGc(Exchange exchange, String operation) throws GitAPIException {
        Properties result = null;
        try {
            result = git.gc().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3651 Negative (Non-Clone)
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #3652 Negative (Non-Clone)
ID: 835_716
ClassID: 835
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
Name: org.apache.camel.component.paho.PahoConsumer.createExchange(MqttMessage mqttMessage, String topic)
    public Exchange createExchange(MqttMessage mqttMessage, String topic) {
        Exchange exchange = createExchange(true);

        PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage);
        paho.setBody(mqttMessage.getPayload());
        paho.setHeader(PahoConstants.MQTT_TOPIC, topic);
        paho.setHeader(PahoConstants.MQTT_QOS, mqttMessage.getQos());

        exchange.setIn(paho);
        if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    try {
                        PahoConsumer.this.client.messageArrivedComplete(mqttMessage.getId(), mqttMessage.getQos());
                    } catch (MqttException e) {
                        LOG.warn("Failed to commit message with ID {} due to MqttException.", mqttMessage.getId());
                    }
                }

                @Override
                public void onFailure(Exchange exchange) {
                    LOG.error("Rollback due to error processing Exchange ID: {}", exchange.getExchangeId(),
                            exchange.getException());
                }
            });
        }
        return exchange;
    }
ID: 2296_1816
ClassID: 2296
File: systems/camel-java/components/camel-aws/camel-aws-common/src/main/java/org/apache/camel/component/aws/common/AwsClientBuilderUtil.java
Name: org.apache.camel.component.aws.common.AwsClientBuilderUtil.buildClient(AwsCommonConfiguration config, Supplier<B> builderSupplier, Consumer<B> serviceSpecificConfig)
    public static <B extends AwsClientBuilder<B, C> & SdkSyncClientBuilder<B, C>, C extends SdkClient> C buildClient(
            AwsCommonConfiguration config,
            Supplier<B> builderSupplier,
            Consumer<B> serviceSpecificConfig) {

        B clientBuilder = builderSupplier.get();
        ApacheHttpClient.Builder httpClientBuilder = null;
        boolean httpClientConfigured = false;

         
        if (ObjectHelper.isNotEmpty(config.getProxyHost())
                && ObjectHelper.isNotEmpty(config.getProxyPort())) {
            LOG.trace("Configuring proxy: {}:{}", config.getProxyHost(), config.getProxyPort());
            URI proxyEndpoint = URI.create(
                    config.getProxyProtocol() + "://" + config.getProxyHost() + ":" + config.getProxyPort());
            ProxyConfiguration proxyConfig = ProxyConfiguration.builder()
                    .endpoint(proxyEndpoint)
                    .build();
            httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig);
            httpClientConfigured = true;
        }

         
        AwsCredentialsProvider credentialsProvider = resolveCredentialsProvider(config);
        if (credentialsProvider != null) {
            clientBuilder.credentialsProvider(credentialsProvider);
        }

         
        if (httpClientConfigured) {
            clientBuilder.httpClientBuilder(httpClientBuilder);
        }

         
        if (ObjectHelper.isNotEmpty(config.getRegion())) {
            clientBuilder.region(Region.of(config.getRegion()));
        }

         
        if (config.isOverrideEndpoint() && ObjectHelper.isNotEmpty(config.getUriEndpointOverride())) {
            clientBuilder.endpointOverride(URI.create(config.getUriEndpointOverride()));
        }

         
        if (config.isTrustAllCertificates()) {
            if (httpClientBuilder == null) {
                httpClientBuilder = ApacheHttpClient.builder();
            }
            SdkHttpClient httpClient = httpClientBuilder.buildWithDefaults(
                    AttributeMap.builder()
                            .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, Boolean.TRUE)
                            .build());
            clientBuilder.httpClient(httpClient);
            clientBuilder.httpClientBuilder(null);
        }

         
        if (serviceSpecificConfig != null) {
            serviceSpecificConfig.accept(clientBuilder);
        }

        return clientBuilder.build();
    }
Pair #3653 Negative (Non-Clone)
ID: 2441_1920
ClassID: 2441
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.loadStatus(long pid)
    JsonObject loadStatus(long pid) {
        try {
            Path f = getStatusFile(Long.toString(pid));
            if (f != null && Files.exists(f)) {
                String text = Files.readString(f);
                return (JsonObject) Jsoner.deserialize(text);
            }
        } catch (Exception e) {
             
        }
        return null;
    }
ID: 899_766
ClassID: 899
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java
Name: org.apache.camel.component.google.drive.GoogleDriveProducer.doInvokeMethod(ApiMethod method, Map<String, Object> properties)
    protected Object doInvokeMethod(ApiMethod method, Map<String, Object> properties)
            throws RuntimeCamelException {
        AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties);
        try {
            BeanIntrospection beanIntrospection
                    = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext());
            for (Entry<String, Object> p : properties.entrySet()) {
                beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue());
            }
            return request.execute();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
Pair #3654 Negative (Non-Clone)
ID: 175_147
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
ID: 2669_2356
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = mi.invoke(pojo, oldExchange, newExchange);
            if (out != null) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
Pair #3655 Negative (Non-Clone)
ID: 23_30
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String uri, JmsComponent component, String destination,
                                 JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2295_1815
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2Producer.java
Name: org.apache.camel.component.aws2.ecs.ECS2Producer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
Pair #3656 Negative (Non-Clone)
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
ID: 1256_1104
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
Name: org.apache.camel.reifier.errorhandler.DeadLetterChannelReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3657 Negative (Non-Clone)
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1308_1157
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.run()
        public void run() {
            FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().services().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<Service, ServiceList, ServiceResource<Service>> client
                        = getEndpoint().getKubernetesClient().services().inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<Service, ServiceList, ServiceResource<Service>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, Service resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }
                }

            });
        }
Pair #3658 Negative (Non-Clone)
ID: 175_146
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
ID: 2504_2051
ClassID: 2504
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/YamlProperties.java
Name: org.apache.camel.maven.dsl.yaml.support.YamlProperties.withDescription(JsonNode node)
        public AnnotationBuilder withDescription(JsonNode node) {
            if (node == null) {
                return this;
            }
            if (node.isMissingNode()) {
                return this;
            }
            if (!node.isTextual()) {
                return this;
            }

            return withDescription(node.asText());
        }
Pair #3659 Negative (Non-Clone)
ID: 243_312
ClassID: 243
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            secretGroup = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            secretGroup = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
ID: 2024_1642
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Name: org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn("Reply received for unknown correlationID [{}]. The message will be ignored: {}", correlationID, message);
        }
    }
Pair #3660 Negative (Non-Clone)
ID: 2586_2188
ClassID: 2586
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.generateEndpointConfigurer(Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes, ComponentModel componentModel, ComponentModel parentData)
    private void generateEndpointConfigurer(
            Class<?> classElement, UriEndpoint uriEndpoint, String scheme, String[] schemes,
            ComponentModel componentModel, ComponentModel parentData) {
        if (!uriEndpoint.generateConfigurer()) {
            return;
        }
         
        if (isFirstScheme(scheme, schemes)) {
            return;
        }

        Class<?> superClazz = loadClass(componentModel.getJavaType()).getSuperclass();

        String pfqn;
        boolean hasSuper;
        if (parentData != null && superClazz.getName().equals(parentData.getJavaType())) {
            try {
                pfqn = classElement.getSuperclass().getName() + "Configurer";
                hasSuper = true;
            } catch (NoClassDefFoundError e) {
                pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
                hasSuper = false;
                parentData = null;
            }
        } else {
            pfqn = "org.apache.camel.support.component.PropertyConfigurerSupport";
            hasSuper = false;
        }
        String psn = pfqn.substring(pfqn.lastIndexOf('.') + 1);
        String fqEndpointClassName = classElement.getName();
        String endpointClassName = fqEndpointClassName.substring(fqEndpointClassName.lastIndexOf('.') + 1);
        String className = endpointClassName + "Configurer";
        String packageName = fqEndpointClassName.substring(0, fqEndpointClassName.lastIndexOf('.'));
        String fqClassName = packageName + "." + className;

        List<EndpointOptionModel> options;
        if (parentData != null) {
            Set<String> parentOptionsNames = parentData.getEndpointParameterOptions().stream()
                    .map(EndpointOptionModel::getName).collect(Collectors.toSet());
            options = componentModel.getEndpointParameterOptions().stream()
                    .filter(o -> !parentOptionsNames.contains(o.getName()))
                    .toList();
        } else {
            options = componentModel.getEndpointParameterOptions();
        }
        generatePropertyConfigurer(packageName, className, fqClassName, endpointClassName,
                pfqn, psn,
                componentModel.getScheme() + "-endpoint", hasSuper, false,
                options, componentModel);
    }
ID: 2339_1844
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageGroupIdStrategy(String strategy)
    public void setMessageGroupIdStrategy(String strategy) {
        if ("useConstant".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
        } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageGroupIdStrategy: " + strategy);
        }
    }
Pair #3661 Negative (Non-Clone)
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 765_684
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageProducer.java
Name: org.apache.camel.component.google.storage.GoogleCloudStorageProducer.determineBucketName(Exchange exchange)
    private String determineBucketName(Exchange exchange) {
        String bucketName = exchange.getMessage().getHeader(GoogleCloudStorageConstants.OVERRIDE_BUCKET_NAME, String.class);
        if (ObjectHelper.isEmpty(bucketName)) {
            bucketName = getConfiguration().getBucketName();
        }
        if (bucketName == null) {
            throw new IllegalArgumentException("Bucket name is missing or not configured.");
        }
        return bucketName;
    }
Pair #3662 Negative (Non-Clone)
ID: 576_545
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getObject(MinioClient minioClient, Exchange exchange)
    private void getObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 2386_1884
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onMode(String channel, IRCUser user, IRCModeParser modeParser)
        public void onMode(String channel, IRCUser user, IRCModeParser modeParser) {
            if (configuration.isOnMode()) {
                Exchange exchange = createOnModeExchange(channel, user, modeParser);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3663 Negative (Non-Clone)
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 1975_1612
ClassID: 1975
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.predict(Exchange exchange, TimeSeriesData input)
    protected Forecast predict(Exchange exchange, TimeSeriesData input) {
        Model model = exchange.getContext().getRegistry().lookupByNameAndType(modelName, Model.class);
        @SuppressWarnings("unchecked")
        Translator<TimeSeriesData, Forecast> translator
                = exchange.getContext().getRegistry().lookupByNameAndType(translatorName, Translator.class);

        exchange.getIn().setHeader(DJLConstants.INPUT, input);
        try (Predictor<TimeSeriesData, Forecast> predictor = model.newPredictor(translator)) {
            return predictor.predict(input);
        } catch (TranslateException e) {
            throw new RuntimeCamelException("Could not process input or output", e);
        }
    }
Pair #3664 Negative (Non-Clone)
ID: 2465_1975
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
         
        line = unescapeAnsi(line);
        String after = StringHelper.after(line, "---", line);
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(after).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 380_420
ClassID: 380
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
Name: org.apache.camel.component.paho.PahoSendDynamicAware.parseTopicName(String uri)
    private String parseTopicName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");

        uri = StringHelper.before(uri, "?", uri);
         

        int pos = uri.indexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
Pair #3665 Negative (Non-Clone)
ID: 2610_2245
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generatePojoBeanModel(JsonObject obj)
    public static PojoBeanModel generatePojoBeanModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("bean");
        PojoBeanModel model = new PojoBeanModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        JsonObject mprp = (JsonObject) mobj.get("properties");
        if (mprp != null) {
            for (Map.Entry<String, Object> entry : mprp.entrySet()) {
                JsonObject mp = (JsonObject) entry.getValue();
                PojoBeanModel.PojoBeanOptionModel option = new PojoBeanModel.PojoBeanOptionModel();
                parseOption(mp, option, entry.getKey());
                model.addOption(option);
            }
        }
        return model;
    }
ID: 1904_1567
ClassID: 1904
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCProcessorsInterceptStrategy.java
Name: org.apache.camel.mdc.MDCProcessorsInterceptStrategy.process(Exchange exchange)
            public void process(Exchange exchange) throws Exception {
                Map<String, String> previousContext = MDC.getCopyOfContextMap();
                mdcService.setMDC(exchange);
                try {
                    asyncProcessor.process(exchange);
                } finally {
                    mdcService.unsetMDC(exchange);
                    if (previousContext != null) {
                        MDC.setContextMap(previousContext);
                    } else {
                        MDC.clear();
                    }
                }
            }
Pair #3666 Negative (Non-Clone)
ID: 240_300
ClassID: 240
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getCamelContext().getPropertiesComponent().hasPropertiesFunction("azure")) {
            PropertiesFunction pf = getCamelContext().getPropertiesComponent().getPropertiesFunction("azure");
            if (pf instanceof KeyVaultPropertiesFunction) {
                propertiesFunction = (KeyVaultPropertiesFunction) pf;
            }
        }
        AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
        if (azure != null && azure.isRefreshEnabled()) {
            PeriodTaskScheduler scheduler = PluginHelper.getPeriodTaskScheduler(getCamelContext());
            secretsRefreshTask = scheduler.getTaskByType(EventhubsReloadTriggerTask.class);
        }
    }
ID: 3273_2648
ClassID: 3273
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java
Name: org.apache.camel.support.task.ForegroundTask.run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate)
    public <T> Optional<T> run(CamelContext camelContext, Supplier<T> supplier, Predicate<T> predicate) {
        running.set(true);
        TaskManagerRegistry registry = null;
        if (camelContext != null) {
            registry = PluginHelper.getTaskManagerRegistry(camelContext.getCamelContextExtension());
        }
        if (registry != null) {
            registry.addTask(this);
        }
        try {
            if (budget.initialDelay() > 0) {
                Thread.sleep(budget.initialDelay());
            }

            while (budget.next()) {
                lastAttemptTime = System.currentTimeMillis();
                if (firstAttemptTime < 0) {
                    firstAttemptTime = lastAttemptTime;
                }
                T ret = supplier.get();
                if (predicate.test(ret)) {
                    LOG.debug("Task {} is complete after {} iterations and it is ready to continue",
                            getName(), budget.iteration());
                    status = Status.Completed;
                    return Optional.ofNullable(ret);
                }
                nextAttemptTime = lastAttemptTime + budget.interval();

                if (budget.canContinue()) {
                    Thread.sleep(budget.interval());
                } else {
                    status = Status.Exhausted;
                }
            }
        } catch (InterruptedException e) {
            LOG.warn("Interrupted {} while waiting for the repeatable task to finish", getName());
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            status = Status.Failed;
            cause = e;
        } finally {
            elapsed = budget.elapsed();
            running.set(false);
            if (registry != null) {
                registry.removeTask(this);
            }
        }

        return Optional.empty();
    }
Pair #3667 Negative (Non-Clone)
ID: 1304_1138
ClassID: 1304
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/properties/BaseSecretPropertiesFunction.java
Name: org.apache.camel.component.kubernetes.properties.BaseSecretPropertiesFunction.lookup(String name, String key, String defaultValue)
    String lookup(String name, String key, String defaultValue) {
        String answer = null;
        Secret sec = getClient().secrets().withName(name).get();
        if (sec != null) {
             
            answer = sec.getStringData() != null ? sec.getStringData().get(key) : null;
            if (answer == null) {
                 
                answer = sec.getData() != null ? sec.getData().get(key) : null;
                if (answer != null) {
                    byte[] data = Base64.getDecoder().decode(answer);
                    if (data != null) {
                        answer = handleData(key, data);
                    }
                }
            }
        }
        if (answer == null) {
            return defaultValue;
        }

        return answer;
    }
ID: 3099_2369
ClassID: 3099
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
Name: org.apache.camel.model.rest.RestDefinition.skipBindingOnErrorCode(boolean skipBindingOnErrorCode)
    public RestDefinition skipBindingOnErrorCode(boolean skipBindingOnErrorCode) {
        if (getVerbs().isEmpty()) {
            this.skipBindingOnErrorCode = Boolean.toString(skipBindingOnErrorCode);
        } else {
             
            VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
            verb.setSkipBindingOnErrorCode(Boolean.toString(skipBindingOnErrorCode));
        }

        return this;
    }
Pair #3668 Negative (Non-Clone)
ID: 2251_1783
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplaceAsync(Message message)
    public void onReplaceAsync(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final CompletableFuture<Object> resultWithNewValue;
        final CompletableFuture<Boolean> resultWithNewAndOldValue;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue
                            = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    resultWithNewValue = cache.replaceAsync(key, value, lifespan, timeUnit);
                    setResult(message, resultWithNewValue);
                } else {
                    resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value, lifespan, timeUnit);
                    setResult(message, resultWithNewAndOldValue);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                resultWithNewValue = cache.replaceAsync(key, value);
                setResult(message, resultWithNewValue);
            } else {
                resultWithNewAndOldValue = cache.replaceAsync(key, oldValue, value);
                setResult(message, resultWithNewAndOldValue);
            }
        }

    }
ID: 228_269
ClassID: 228
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.azure.strategy.FilesExclusiveReadLockCheck.getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file)
    private ShareFileItem[] getFilesFast(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file) {
        String path = file.getAbsoluteFilePath();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace("Using fast exists to update file information in home directory");
            return operations.listFiles();
        } else {
            LOG.trace("Using fast exists to update file information for {}", path);
            return operations.listFiles(path);
        }
    }
Pair #3669 Negative (Non-Clone)
ID: 444_474
ClassID: 444
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/codec/DatagramPacketObjectEncoder.java
Name: org.apache.camel.component.netty.codec.DatagramPacketObjectEncoder.encode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg, List<Object> out)
    protected void encode(
            ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
            List<Object> out)
            throws Exception {
        if (msg.content() instanceof Serializable) {
            Serializable payload = (Serializable) msg.content();
            ByteBuf buf = ctx.alloc().buffer();
            delegateObjectEncoder.encode(ctx, payload, buf);
            AddressedEnvelope<Object, InetSocketAddress> addressedEnvelop
                    = new DefaultAddressedEnvelope<>(buf, msg.recipient(), msg.sender());
            out.add(addressedEnvelop);
        } else {
            LOG.debug("Ignoring message content as it is not a java.io.Serializable instance.");
        }
    }
ID: 1162_994
ClassID: 1162
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DelayedMonoPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.DelayedMonoPublisher.setData(T data)
    public void setData(T data) {
        Objects.requireNonNull(data, "data must be not null");
        if (this.data != null) {
            throw new IllegalStateException("data has already been set");
        } else if (this.exception != null) {
            throw new IllegalStateException("an exception has already been set");
        }

        this.data = data;
        flushCycle();
    }
Pair #3670 Negative (Non-Clone)
ID: 188_190
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
    private void processGetSuccessfulResults(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        String jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        bulkClient.getSuccessfulResults(jobId, determineHeaders(exchange),
                new StreamResponseCallback() {
                    @Override
                    public void onResponse(
                            InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, inputStream, headers, ex, callback);
                    }
                });
    }
ID: 2442_1923
ClassID: 2442
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getStatus(Row r)
    private String getStatus(Row r) {
        boolean remote = r.endpoint != null && r.endpoint.getBooleanOrDefault("remote", false);

        if (r.first) {
            String s = r.parent.depth == 1 ? "Created" : "Routing to " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.last) {
            String done = r.exception != null ? "Completed (exception)" : "Completed (success)";
            String s = r.parent.depth == 0 ? done : "Returning from " + r.routeId;
            if (loggingColor) {
                return Ansi.ansi().fg(r.failed ? Ansi.Color.RED : Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
        if (!r.done) {
            String s = remote ? "Sending" : "Processing";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.BLUE).a(s).reset().toString();
            } else {
                return s;
            }
        } else if (r.failed) {
            String fail = r.exception != null ? "Exception" : "Failed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.RED).a(fail).reset().toString();
            } else {
                return fail;
            }
        } else {
            String s = remote ? "Sent" : "Processed";
            if (loggingColor) {
                return Ansi.ansi().fg(Ansi.Color.GREEN).a(s).reset().toString();
            } else {
                return s;
            }
        }
    }
Pair #3671 Negative (Non-Clone)
ID: 249_324
ClassID: 249
File: systems/camel-java/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusComponent.java
Name: org.apache.camel.component.azure.servicebus.ServiceBusComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (remaining == null || remaining.isBlank()) {
            throw new IllegalArgumentException("A queue or topic name must be specified.");
        }

        final ServiceBusConfiguration configuration
                = this.configuration != null ? this.configuration.copy() : new ServiceBusConfiguration();

         
        configuration.setTopicOrQueueName(remaining);

        final ServiceBusEndpoint endpoint = new ServiceBusEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

         
        if (endpoint.getConfiguration().getTokenCredential() == null) {
            if (endpoint.getConfiguration().getCredentialType() == null) {
                endpoint.getConfiguration().setCredentialType(CredentialType.CONNECTION_STRING);
            }
        } else {
            boolean azure = endpoint.getConfiguration().getTokenCredential() instanceof DefaultAzureCredential;
            endpoint.getConfiguration()
                    .setCredentialType(azure ? CredentialType.AZURE_IDENTITY : CredentialType.TOKEN_CREDENTIAL);
        }

        return endpoint;
    }
ID: 454_486
ClassID: 454
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
Name: org.apache.camel.component.box.api.BoxFilesManager.createFileSharedLink(String fileId, BoxSharedLink.Access access, Date unshareDate, BoxSharedLink.Permissions permissions)
    public BoxSharedLink createFileSharedLink(
            String fileId, BoxSharedLink.Access access, Date unshareDate,
            BoxSharedLink.Permissions permissions) {
        try {
            LOG.debug("Creating shared link for file(id={}) with access={} {}",
                    fileId, access, unshareDate == null
                            ? ""
                            : " unsharedDate=" + DateFormat.getDateTimeInstance().format(unshareDate)
                              + " permissions=" + permissions);

            BoxHelper.notNull(fileId, BoxHelper.FILE_ID);
            BoxHelper.notNull(access, "access");

            BoxFile file = new BoxFile(boxConnection, fileId);
            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
            request.access(access).unsharedDate(unshareDate)
                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
            return file.createSharedLink(request);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(BoxHelper.buildBoxApiErrorMessage(e), e);
        }
    }
Pair #3672 Negative (Non-Clone)
ID: 2443_1925
ClassID: 2443
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.getId(Row r)
    private String getId(Row r) {
        if (r.first) {
            return "*-->";
        } else if (r.last) {
            return "*<--";
        } else {
            return r.nodeId;
        }
    }
ID: 2385_1875
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcProducer.java
Name: org.apache.camel.component.irc.IrcProducer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : getEndpoint().getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #3673 Negative (Non-Clone)
ID: 18_19
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.cache.CaffeineCacheProducer target = (org.apache.camel.component.caffeine.cache.CaffeineCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 557_535
ClassID: 557
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/interceptors/OneWayOutgoingChainInterceptor.java
Name: org.apache.camel.component.cxf.interceptors.OneWayOutgoingChainInterceptor.closeInput(Message message)
    private void closeInput(Message message) {
        InputStream is = message.getContent(InputStream.class);
        if (is != null) {
            try {
                is.close();
                message.removeContent(InputStream.class);
            } catch (IOException ioex) {
                 
            }
        }
    }
Pair #3674 Negative (Non-Clone)
ID: 1957_1593
ClassID: 1957
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.upsert(Exchange exchange)
    private void upsert(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();
        List elements = in.getMandatoryBody(List.class);
        String indexName = getEndpoint().getConfiguration().getIndexName();
        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }
        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);

        Index index = this.client.getIndexConnection(indexName);

        UpsertResponse result = index.upsert(indexId, elements, null, null, null, namespace);

        populateUpsertResponse(result, exchange);

    }
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
Pair #3675 Negative (Non-Clone)
ID: 1984_1626
ClassID: 1984
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/CodeInjectionGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.CodeInjectionGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return success();
        }

        String text = userMessage.singleText();
        List<InjectionType> detected = new ArrayList<>();

        for (InjectionPattern pattern : patterns) {
            if (!detectTypes.contains(pattern.getType())) {
                continue;
            }

            if (pattern.getPattern().matcher(text).find()) {
                detected.add(pattern.getType());

                if (strict) {
                    return failure(String.format(
                            "Potential code injection detected: %s. " +
                                                 "Please remove any code or command patterns from your message.",
                            pattern.getType()));
                }
            }
        }

         
        if (!strict && detected.size() >= 2) {
            return failure(String.format(
                    "Multiple potential code injection patterns detected: %s. " +
                                         "Please rephrase your message without code-like syntax.",
                    detected));
        }

        return success();
    }
ID: 876_725
ClassID: 876
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
Name: org.apache.camel.dataformat.bindy.BindyFixedLengthFactory.initAnnotatedFields()
    public void initAnnotatedFields() {

        for (Class<?> cl : models) {

            List<Field> linkFields = new ArrayList<>();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Class retrieved: {}", cl.getName());
            }

            for (Field field : cl.getDeclaredFields()) {
                DataField dataField = field.getAnnotation(DataField.class);
                if (dataField != null) {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Position defined in the class: {}, position: {}, Field: {}", cl.getName(), dataField.pos(),
                                dataField);
                    }

                    if (dataField.required()) {
                        ++numberMandatoryFields;
                    } else {
                        ++numberOptionalFields;
                    }

                    dataFields.put(dataField.pos(), dataField);
                    annotatedFields.put(dataField.pos(), field);
                }

                Link linkField = field.getAnnotation(Link.class);

                if (linkField != null) {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Class linked: {}, Field: {}", cl.getName(), field);
                    }
                    linkFields.add(field);
                }

            }

            if (!linkFields.isEmpty()) {
                annotatedLinkFields.put(cl.getName(), linkFields);
            }

            totalFields = numberMandatoryFields + numberOptionalFields;

            if (LOG.isDebugEnabled()) {
                LOG.debug("Number of optional fields: {}", numberOptionalFields);
                LOG.debug("Number of mandatory fields: {}", numberMandatoryFields);
                LOG.debug("Total: {}", totalFields);
            }

        }
    }
Pair #3676 Negative (Non-Clone)
ID: 1130_965
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.addConsumer(String key, KameletConsumer consumer)
    public void addConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            if (consumers.putIfAbsent(key, consumer) != null) {
                throw new IllegalArgumentException(
                        "Cannot add a 2nd consumer to the same endpoint: " + key
                                                   + ". KameletEndpoint only allows one consumer.");
            }
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
Pair #3677 Negative (Non-Clone)
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
Pair #3678 Negative (Non-Clone)
ID: 104_93
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createClientRole(Keycloak keycloakClient, Exchange exchange)
    private void createClientRole(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof RoleRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).roles().create((RoleRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client role created successfully");
            }
        } else {
            RoleRepresentation role = new RoleRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME))) {
                String roleName = exchange.getIn().getHeader(KeycloakConstants.ROLE_NAME, String.class);
                role.setName(roleName);

                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION))) {
                    role.setDescription(exchange.getIn().getHeader(KeycloakConstants.ROLE_DESCRIPTION, String.class));
                }
            } else {
                throw new IllegalArgumentException(MISSING_ROLE_NAME);
            }
            keycloakClient.realm(realmName).clients().get(clientUuid).roles().create(role);
            Message message = getMessageForResponse(exchange);
            message.setBody("Client role created successfully");
        }
    }
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3679 Negative (Non-Clone)
ID: 1401_1248
ClassID: 1401
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppCancelSmCommand.java
Name: org.apache.camel.component.smpp.SmppCancelSmCommand.execute(Exchange exchange)
    public void execute(Exchange exchange) throws SmppException {
        CancelSm cancelSm = createCancelSm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Canceling a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        try {
            session.cancelShortMessage(
                    cancelSm.getServiceType(),
                    cancelSm.getMessageId(),
                    TypeOfNumber.valueOf(cancelSm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getSourceAddrNpi()),
                    cancelSm.getSourceAddr(),
                    TypeOfNumber.valueOf(cancelSm.getDestAddrTon()),
                    NumberingPlanIndicator.valueOf(cancelSm.getDestAddrNpi()),
                    cancelSm.getDestinationAddress());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Cancel a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), cancelSm.getMessageId());
        }

        Message message = ExchangeHelper.getResultMessage(exchange);
        message.setHeader(SmppConstants.ID, cancelSm.getMessageId());
    }
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
Pair #3680 Negative (Non-Clone)
ID: 412_447
ClassID: 412
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java
Name: org.apache.camel.support.processor.RestBindingAdviceFactory.setAdditionalConfiguration(CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix)
    private static void setAdditionalConfiguration(
            CamelContext camelContext, RestConfiguration config, DataFormat dataFormat, String prefix) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            PropertyBindingSupport.build().bind(camelContext, dataFormat, copy);
        }
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #3681 Negative (Non-Clone)
ID: 658_585
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/producer/RegionProducer.java
Name: org.apache.camel.component.openstack.keystone.producer.RegionProducer.messageToRegion(Message message)
    private Region messageToRegion(Message message) {
        Region region = message.getBody(Region.class);
        if (region == null) {
            Map headers = message.getHeaders();
            RegionBuilder builder = Builders.region();

            if (headers.containsKey(KeystoneConstants.DESCRIPTION)) {
                builder.description(message.getHeader(KeystoneConstants.DESCRIPTION, String.class));
            }

            region = builder.build();
        }

        return region;
    }
ID: 1868_1537
ClassID: 1868
File: systems/camel-java/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXConsumer.java
Name: org.apache.camel.component.jmx.JMXConsumer.scheduleDelayedStart()
    protected void scheduleDelayedStart() {
        Runnable startRunnable = () -> {
            try {
                doStart();
            } catch (Exception e) {
                LOG.error("An unrecoverable exception has occurred while starting the JMX consumer"
                          + " for endpoint {}",
                        URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), e);
            }
        };
        LOG.info("Delaying JMX consumer startup for endpoint {}. Trying again in {} seconds.",
                URISupport.sanitizeUri(mJmxEndpoint.getEndpointUri()), mJmxEndpoint.getReconnectDelay());
        getExecutor().schedule(startRunnable, mJmxEndpoint.getReconnectDelay(), TimeUnit.SECONDS);
    }
Pair #3682 Negative (Non-Clone)
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
Pair #3683 Negative (Non-Clone)
ID: 49_60
ClassID: 49
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
Name: org.apache.camel.component.jcache.JCacheComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JCacheConfiguration configuration = new JCacheConfiguration(getCamelContext(), remaining);

        configuration.setCachingProvider(cachingProvider);
        configuration.setCacheConfiguration(cacheConfiguration);
        configuration.setCacheConfigurationProperties(loadProperties());
        configuration.setConfigurationUri(configurationUri);

        JCacheEndpoint endpoint = new JCacheEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2399_1886
ClassID: 2399
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultComponent.java
Name: org.apache.camel.component.hazelcast.HazelcastDefaultComponent.getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
    protected HazelcastInstance getOrCreateHzClientInstance(CamelContext context, Map<String, Object> parameters)
            throws Exception {
        HazelcastInstance hzInstance = null;
        ClientConfig config = null;

         
        hzInstance = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_INSTANCE_PARAM, HazelcastInstance.class);

         
        if (hzInstance == null && parameters.get(HAZELCAST_INSTANCE_NAME_PARAM) != null) {
            hzInstance = HazelcastClient.getHazelcastClientByName((String) parameters.get(HAZELCAST_INSTANCE_NAME_PARAM));
        }

         
         
        if (hzInstance == null) {
            config = resolveAndRemoveReferenceParameter(parameters, HAZELCAST_CONFIGU_PARAM, ClientConfig.class);
            if (config == null) {
                String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class);
                if (configUri != null) {
                    configUri = getCamelContext().resolvePropertyPlaceholders(configUri);
                }
                if (configUri != null) {
                    InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri);
                    config = new XmlClientConfigBuilder(is).build();
                }
            }

            if (hazelcastInstance == null && config == null) {
                config = new XmlClientConfigBuilder().build();
                 
                config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
                config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

                hzInstance = HazelcastClient.newHazelcastClient(config);
            } else if (config != null) {
                hzInstance = HazelcastClient.newHazelcastClient(config);
            }

            if (hzInstance != null) {
                if (this.customHazelcastInstances.add(hzInstance)) {
                    LOGGER.debug("Add managed HZ instance {}", hzInstance.getName());
                }
            }
        }

        return hzInstance == null ? hazelcastInstance : hzInstance;
    }
Pair #3684 Negative (Non-Clone)
ID: 1311_1200
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsProducer.doListConfigMapsByLabels(Exchange exchange)
    protected void doListConfigMapsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CONFIGMAPS_LABELS, Map.class);
        ConfigMapList configMapsList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ConfigMaps by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ConfigMaps by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inAnyNamespace().withLabels(labels).list();
        } else {
            configMapsList = getEndpoint().getKubernetesClient().configMaps().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, configMapsList.getItems());
    }
ID: 1407_1261
ClassID: 1407
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.newHttpManagementServer(CamelContext camelContext, HttpManagementServerConfigurationProperties configuration)
    public Service newHttpManagementServer(
            CamelContext camelContext, HttpManagementServerConfigurationProperties configuration) {
        ManagementHttpServer server = new ManagementHttpServer();

        server.setCamelContext(camelContext);
        server.setHost(configuration.getHost());
        server.setPort(configuration.getPort());
        server.setPath(configuration.getPath());

        server.setUseGlobalSslContextParameters(configuration.isUseGlobalSslContextParameters());
        server.setInfoEnabled(configuration.isInfoEnabled());
        server.setDevConsoleEnabled(configuration.isDevConsoleEnabled());
        server.setHealthCheckEnabled(configuration.isHealthCheckEnabled());
        server.setHealthPath(configuration.getHealthPath());
        server.setInfoPath(configuration.getInfoPath());
        server.setJolokiaEnabled(configuration.isJolokiaEnabled());
        server.setJolokiaPath(configuration.getJolokiaPath());
        server.setMetricsEnabled(configuration.isMetricsEnabled());
        server.setUploadEnabled(configuration.isUploadEnabled());
        server.setUploadSourceDir(configuration.getUploadSourceDir());
        server.setDownloadEnabled(configuration.isDownloadEnabled());
        server.setSendEnabled(configuration.isSendEnabled());

        if (configuration.isAuthenticationEnabled()) {
            configureAuthentication(server, configuration);
        }

        return server;
    }
Pair #3685 Negative (Non-Clone)
ID: 2294_1804
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java
Name: org.apache.camel.component.aws2.iam.IAM2Producer.createUser(IamClient iamClient, Exchange exchange)
    private void createUser(IamClient iamClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                CreateUserRequest.class,
                iamClient::createUser,
                () -> {
                    String userName = getRequiredHeader(exchange, IAM2Constants.USERNAME, String.class, MISSING_USER_NAME);
                    return iamClient.createUser(CreateUserRequest.builder().userName(userName).build());
                },
                "Create user",
                (CreateUserResponse response, Message message) -> {
                    if (response.user() != null) {
                        message.setHeader(IAM2Constants.USER_ARN, response.user().arn());
                        message.setHeader(IAM2Constants.USER_ID, response.user().userId());
                    }
                });
    }
ID: 3166_2429
ClassID: 3166
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelHealth.java
Name: org.apache.camel.management.mbean.ManagedCamelHealth.disableById(String id)
    public void disableById(String id) {
        Optional<HealthCheck> hc = healthCheckRegistry.getCheck(id);
        if (hc.isPresent()) {
            hc.get().setEnabled(false);
        } else {
            Optional<HealthCheckRepository> hcr = healthCheckRegistry.getRepository(id);
            hcr.ifPresent(repository -> repository.setEnabled(false));
        }
    }
Pair #3686 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 307_374
ClassID: 307
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/CqlSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.CqlSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
Pair #3687 Negative (Non-Clone)
ID: 3304_2715
ClassID: 3304
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.parseEpilog()
    protected int parseEpilog() throws XmlPullParserException, IOException {
        if (eventType == END_DOCUMENT) {
            throw new XmlPullParserException("already reached end of XML input", this, null);
        }
        if (reachedEnd) {
            return eventType = END_DOCUMENT;
        }
        boolean gotS = false;
        final boolean normalizeIgnorableWS = tokenize && !roundtripSupported;
        boolean normalizedCR = false;
        try {
             
            char ch;
            if (seenMarkup) {
                ch = buf[pos - 1];
            } else {
                ch = more();
            }
            seenMarkup = false;
            posStart = pos - 1;
            if (!reachedEnd) {
                while (true) {
                     
                     
                    if (ch == '<') {
                        if (gotS && tokenize) {
                            posEnd = pos - 1;
                            seenMarkup = true;
                            return eventType = IGNORABLE_WHITESPACE;
                        }
                        ch = more();
                        if (reachedEnd) {
                            break;
                        }
                        if (ch == '?') {
                             
                             
                            parsePI();
                            if (tokenize)
                                return eventType = PROCESSING_INSTRUCTION;

                        } else if (ch == '!') {
                            ch = more();
                            if (reachedEnd) {
                                break;
                            }
                            if (ch == 'D') {
                                parseDocdecl();  
                                if (tokenize)
                                    return eventType = DOCDECL;
                            } else if (ch == '-') {
                                parseComment();
                                if (tokenize)
                                    return eventType = COMMENT;
                            } else {
                                throw new XmlPullParserException("unexpected markup <!" + printable(ch), this, null);
                            }
                        } else if (ch == '/') {
                            throw new XmlPullParserException(
                                    "end tag not allowed in epilog but got " + printable(ch), this, null);
                        } else if (isNameStartChar(ch)) {
                            throw new XmlPullParserException(
                                    "start tag not allowed in epilog but got " + printable(ch), this, null);
                        } else {
                            throw new XmlPullParserException(
                                    "in epilog expected ignorable content and not " + printable(ch), this, null);
                        }
                    } else if (isS(ch)) {
                        gotS = true;
                        if (normalizeIgnorableWS) {
                            if (ch == '\r') {
                                normalizedCR = true;
                                 
                                 
                                 
                                if (!usePC) {
                                    posEnd = pos - 1;
                                    if (posEnd > posStart) {
                                        joinPC();
                                    } else {
                                        usePC = true;
                                        pcStart = pcEnd = 0;
                                    }
                                }
                                 
                                if (pcEnd >= pc.length)
                                    ensurePC(pcEnd);
                                pc[pcEnd++] = '\n';
                            } else if (ch == '\n') {
                                if (!normalizedCR && usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = '\n';
                                }
                                normalizedCR = false;
                            } else {
                                if (usePC) {
                                    if (pcEnd >= pc.length)
                                        ensurePC(pcEnd);
                                    pc[pcEnd++] = ch;
                                }
                                normalizedCR = false;
                            }
                        }
                    } else {
                        throw new XmlPullParserException(
                                "in epilog non whitespace content is not allowed but got " + printable(ch), this, null);
                    }
                    ch = more();
                    if (reachedEnd) {
                        break;
                    }

                }
            }

             
             
             
        } catch (EOFException ex) {
            reachedEnd = true;
        }
        if (tokenize && gotS) {
            posEnd = pos;  
            return eventType = IGNORABLE_WHITESPACE;
        }
        return eventType = END_DOCUMENT;
    }
ID: 441_462
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doStop()
    protected void doStop() throws Exception {
        ServiceHelper.stopService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #3688 Negative (Non-Clone)
ID: 3294_2700
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context)
    protected List<Configurer<SSLServerSocket>> getSSLServerSocketFactorySSLServerSocketConfigurers(SSLContext context) {
        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLServerSocket> sslServerSocketConfigurer = new Configurer<>() {

            @Override
            public SSLServerSocket configure(SSLServerSocket socket) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(socket.getSupportedCipherSuites()),
                                Arrays.asList(socket.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_CIPHER_SUITE_LOG_MSG,
                            socket,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            socket.getSupportedCipherSuites(),
                            socket.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                socket.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(socket.getSupportedProtocols()),
                                Arrays.asList(socket.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_SERVER_SOCKET_PROTOCOL_LOG_MSG,
                            socket,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            socket.getSupportedProtocols(),
                            socket.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                socket.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));
                return socket;
            }
        };

        List<Configurer<SSLServerSocket>> sslServerSocketConfigurers = new LinkedList<>();
        sslServerSocketConfigurers.add(sslServerSocketConfigurer);

        return sslServerSocketConfigurers;
    }
ID: 1497_1337
ClassID: 1497
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/MediaSizeAssigner.java
Name: org.apache.camel.component.printer.MediaSizeAssigner.selectMediaSizeNameISO(String size)
    public MediaSizeName selectMediaSizeNameISO(String size) {
        if (size.equalsIgnoreCase("iso_a0")) {
            mediaSizeName = MediaSizeName.ISO_A0;
        } else if (size.equalsIgnoreCase("iso_a1")) {
            mediaSizeName = MediaSizeName.ISO_A1;
        } else if (size.equalsIgnoreCase("iso_a2")) {
            mediaSizeName = MediaSizeName.ISO_A2;
        } else if (size.equalsIgnoreCase("iso_a3")) {
            mediaSizeName = MediaSizeName.ISO_A3;
        } else if (size.equalsIgnoreCase("iso_a4")) {
            mediaSizeName = MediaSizeName.ISO_A4;
        } else if (size.equalsIgnoreCase("iso_a5")) {
            mediaSizeName = MediaSizeName.ISO_A5;
        } else if (size.equalsIgnoreCase("iso_a6")) {
            mediaSizeName = MediaSizeName.ISO_A6;
        } else if (size.equalsIgnoreCase("iso_a7")) {
            mediaSizeName = MediaSizeName.ISO_A7;
        } else if (size.equalsIgnoreCase("iso_a8")) {
            mediaSizeName = MediaSizeName.ISO_A8;
        } else if (size.equalsIgnoreCase("iso_a9")) {
            mediaSizeName = MediaSizeName.ISO_A9;
        } else if (size.equalsIgnoreCase("iso_a10")) {
            mediaSizeName = MediaSizeName.ISO_A10;
        } else if (size.equalsIgnoreCase("iso_b0")) {
            mediaSizeName = MediaSizeName.ISO_B0;
        } else if (size.equalsIgnoreCase("iso_b1")) {
            mediaSizeName = MediaSizeName.ISO_B1;
        } else if (size.equalsIgnoreCase("iso_b2")) {
            mediaSizeName = MediaSizeName.ISO_B2;
        } else if (size.equalsIgnoreCase("iso_b3")) {
            mediaSizeName = MediaSizeName.ISO_B3;
        } else if (size.equalsIgnoreCase("iso_b4")) {
            mediaSizeName = MediaSizeName.ISO_B4;
        } else if (size.equalsIgnoreCase("iso_b5")) {
            mediaSizeName = MediaSizeName.ISO_B5;
        } else if (size.equalsIgnoreCase("iso_b6")) {
            mediaSizeName = MediaSizeName.ISO_B6;
        } else if (size.equalsIgnoreCase("iso_b7")) {
            mediaSizeName = MediaSizeName.ISO_B7;
        } else if (size.equalsIgnoreCase("iso_b8")) {
            mediaSizeName = MediaSizeName.ISO_B8;
        } else if (size.equalsIgnoreCase("iso_b9")) {
            mediaSizeName = MediaSizeName.ISO_B9;
        } else if (size.equalsIgnoreCase("iso_b10")) {
            mediaSizeName = MediaSizeName.ISO_B10;
        } else if (size.equalsIgnoreCase("iso_c0")) {
            mediaSizeName = MediaSizeName.ISO_C0;
        } else if (size.equalsIgnoreCase("iso_c1")) {
            mediaSizeName = MediaSizeName.ISO_C1;
        } else if (size.equalsIgnoreCase("iso_c2")) {
            mediaSizeName = MediaSizeName.ISO_C2;
        } else if (size.equalsIgnoreCase("iso_c3")) {
            mediaSizeName = MediaSizeName.ISO_C3;
        } else if (size.equalsIgnoreCase("iso_c4")) {
            mediaSizeName = MediaSizeName.ISO_C4;
        } else if (size.equalsIgnoreCase("iso_c5")) {
            mediaSizeName = MediaSizeName.ISO_C5;
        } else if (size.equalsIgnoreCase("iso_c6")) {
            mediaSizeName = MediaSizeName.ISO_C6;
        }
        return mediaSizeName;
    }
Pair #3689 Negative (Non-Clone)
ID: 2668_2354
ClassID: 2668
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.deliverToOnRedeliveryProcessor()
        protected void deliverToOnRedeliveryProcessor() {
            if (onRedeliveryProcessor == null) {
                return;
            }

            if (LOG.isTraceEnabled()) {
                LOG.trace("Redelivery processor {} is processing Exchange: {} before its redelivered",
                        onRedeliveryProcessor, exchange);
            }

             
            try {
                onRedeliveryProcessor.process(exchange);
            } catch (Exception e) {
                exchange.setException(e);
            }
            LOG.trace("Redelivery processor done");
        }
ID: 1007_869
ClassID: 1007
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filter(ODataFeed odataFeed)
    private ODataFeed filter(ODataFeed odataFeed) {
        if (odataFeed == null) {
            return new EmptyODataFeed();
        }

        List<ODataEntry> entries = odataFeed.getEntries();

        if (entries.isEmpty()) {
            return odataFeed;
        }

        List<ODataEntry> copyEntries = new ArrayList<>(entries);

        for (ODataEntry entry : copyEntries) {
            if (resultIndex.contains(hash(entry))) {
                entries.remove(entry);
            }
        }
        return odataFeed;
    }
Pair #3690 Negative (Non-Clone)
ID: 2294_1808
ClassID: 2294
File: systems/camel-java/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2Producer.java
Name: org.apache.camel.component.aws2.eks.EKS2Producer.deleteCluster(EksClient eksClient, Exchange exchange)
    private void deleteCluster(EksClient eksClient, Exchange exchange) throws InvalidPayloadException {
        executeOperation(
                exchange,
                DeleteClusterRequest.class,
                eksClient::deleteCluster,
                () -> {
                    String clusterName = getRequiredHeader(exchange, EKS2Constants.CLUSTER_NAME, String.class,
                            "Cluster name must be specified");
                    return eksClient.deleteCluster(DeleteClusterRequest.builder().name(clusterName).build());
                },
                "Delete Cluster",
                (DeleteClusterResponse response, Message message) -> {
                    if (response.cluster() != null) {
                        message.setHeader(EKS2Constants.CLUSTER_ARN, response.cluster().arn());
                    }
                });
    }
ID: 1720_1437
ClassID: 1720
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.firstSearch()
    private SearchResponse<TDocument> firstSearch() {
        SearchResponse<TDocument> searchResponse;
        try {
            searchResponse = esClient.search(searchRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return searchResponse;
    }
Pair #3691 Negative (Non-Clone)
ID: 1004_862
ClassID: 1004
File: systems/camel-java/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
Name: org.apache.camel.component.olingo4.Olingo4Endpoint.interceptProperties(Map<String, Object> properties)
    public void interceptProperties(Map<String, Object> properties) {
        Map<String, String> endpointHttpHeaders = (Map<String, String>) properties.get(ENDPOINT_HTTP_HEADERS_PROPERTY);

         
        properties.put(EDM_PROPERTY, apiProxy.getEdm(endpointHttpHeaders));

         
        properties.put(FILTER_ALREADY_SEEN, configuration.isFilterAlreadySeen());

         
        final String keyPredicate = (String) properties.get(KEY_PREDICATE_PROPERTY);
        if (keyPredicate != null) {

             
            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
                if (resourcePath == null) {
                    throw new IllegalArgumentException(
                            "Resource path must be provided in endpoint URI, or URI parameter '" + RESOURCE_PATH_PROPERTY
                                                       + "', or exchange header '"
                                                       + Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
                }

                 
                return resourcePath + "(" + keyPredicate + ")";
            });
        }

         
        parseQueryParams(properties);
    }
ID: 3303_2713
ClassID: 3303
File: systems/camel-java/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java
Name: org.apache.camel.xml.io.MXParser.ensureEntityCapacity()
    protected void ensureEntityCapacity() {
        final int entitySize = entityReplacementBuf != null ? entityReplacementBuf.length : 0;
        if (entityEnd >= entitySize) {
            final int newSize = entityEnd > 7 ? 2 * entityEnd : 8;  
                                                                   
            if (TRACE_SIZING) {
                System.err.println("TRACE_SIZING entitySize " + entitySize + " ==> " + newSize);
            }
            final String[] newEntityName = new String[newSize];
            final char[][] newEntityNameBuf = new char[newSize][];
            final String[] newEntityReplacement = new String[newSize];
            final char[][] newEntityReplacementBuf = new char[newSize][];
            if (entityName != null) {
                System.arraycopy(entityName, 0, newEntityName, 0, entityEnd);
                System.arraycopy(entityNameBuf, 0, newEntityNameBuf, 0, entityEnd);
                System.arraycopy(entityReplacement, 0, newEntityReplacement, 0, entityEnd);
                System.arraycopy(entityReplacementBuf, 0, newEntityReplacementBuf, 0, entityEnd);
            }
            entityName = newEntityName;
            entityNameBuf = newEntityNameBuf;
            entityReplacement = newEntityReplacement;
            entityReplacementBuf = newEntityReplacementBuf;

            if (!allStringsInterned) {
                final int[] newEntityNameHash = new int[newSize];
                if (entityNameHash != null) {
                    System.arraycopy(entityNameHash, 0, newEntityNameHash, 0, entityEnd);
                }
                entityNameHash = newEntityNameHash;
            }
        }
    }
Pair #3692 Negative (Non-Clone)
ID: 1313_1207
ClassID: 1313
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation)
    private void doCreateOrUpdatePod(Exchange exchange, String operationName, Function<Resource<Pod>, Pod> operation) {
        String podName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodSpec podSpec = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
        if (ObjectHelper.isEmpty(podName)) {
            LOG.error("{} a specific pod require specify a pod name", operationName);
            throw new IllegalArgumentException(String.format("%s a specific pod require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific pod require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(podSpec)) {
            LOG.error("{} a specific pod require specify a pod spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific pod require specify a pod spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
        Pod podCreating = new PodBuilder().withNewMetadata().withName(podName).withLabels(labels).endMetadata()
                .withSpec(podSpec).build();
        Pod pod = operation.apply(getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).resource(podCreating));

        prepareOutboundMessage(exchange, pod);
    }
ID: 1692_1417
ClassID: 1692
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Name: org.apache.camel.spring.spi.SpringInjector.newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod)
    public <T> T newInstance(Class<T> type, Class<?> factoryClass, String factoryMethod) {
        Class<?> target = factoryClass != null ? factoryClass : type;
        T answer = null;
        try {
             
            Method fm = target.getMethod(factoryMethod);
            if (Modifier.isStatic(fm.getModifiers()) && Modifier.isPublic(fm.getModifiers())
                    && fm.getReturnType() != Void.class) {
                Object obj = fm.invoke(null);
                answer = type.cast(obj);
            }
        } catch (Exception e) {
            throw new RuntimeCamelException("Error invoking factory method: " + factoryMethod + " on class: " + target, e);
        }
        return answer;
    }
Pair #3693 Negative (Non-Clone)
ID: 1265_1109
ClassID: 1265
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/Kamelet.java
Name: org.apache.camel.component.kamelet.Kamelet.extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters)
    public static String extractTemplateId(CamelContext context, String remaining, Map<String, Object> parameters) {
        Object param = parameters.get(PARAM_TEMPLATE_ID);
        if (param != null) {
            return CamelContextHelper.mandatoryConvertTo(context, String.class, param);
        }

        if (SOURCE_ID.equals(remaining) || SINK_ID.equals(remaining)) {
            return context.resolvePropertyPlaceholders("{{" + PARAM_TEMPLATE_ID + "}}");
        }

        String answer = null;
        if (remaining != null) {
            answer = StringHelper.before(remaining, "/");
        }
        if (answer == null) {
            answer = remaining;
        }

        return answer;
    }
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
Pair #3694 Negative (Non-Clone)
ID: 1548_1369
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Starting ZooKeeper Curator with namespace '{}', nodes: '{}'",
                        configuration.getNamespace(),
                        String.join(",", configuration.getNodes()));
            }

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }
    }
ID: 1500_1352
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignSides(String sidesString)
    public Sides assignSides(String sidesString) {
        Sides answer;

        if (sidesString == null) {
             
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("one-sided")) {
            answer = Sides.ONE_SIDED;
        } else if (sidesString.equalsIgnoreCase("duplex")) {
            answer = Sides.DUPLEX;
        } else if (sidesString.equalsIgnoreCase("tumble")) {
            answer = Sides.TUMBLE;
        } else if (sidesString.equalsIgnoreCase("two-sided-short-edge")) {
            answer = Sides.TWO_SIDED_SHORT_EDGE;
        } else if (sidesString.equalsIgnoreCase("two-sided-long-edge")) {
            answer = Sides.TWO_SIDED_LONG_EDGE;
        } else {
            answer = Sides.ONE_SIDED;
        }

        return answer;
    }
Pair #3695 Negative (Non-Clone)
ID: 1499_1348
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16BE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16BE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16BE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16BE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16BE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16BE;
            }
        }

        return d;
    }
ID: 1111_944
ClassID: 1111
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java
Name: org.apache.camel.component.huaweicloud.smn.SimpleNotificationProducer.initializeClient(ClientConfigurations clientConfigurations)
    private SmnClient initializeClient(ClientConfigurations clientConfigurations) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Initializing Smn client");
        }
        HttpConfig httpConfig
                = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(clientConfigurations.isIgnoreSslVerification());
        if (!StringUtils.isEmpty(clientConfigurations.getProxyHost())) {
            httpConfig.setProxyHost(clientConfigurations.getProxyHost());
            httpConfig.setProxyPort(clientConfigurations.getProxyPort());
            if (!StringUtils.isEmpty(clientConfigurations.getProxyUser())) {
                httpConfig.setProxyUsername(clientConfigurations.getProxyUser());
                httpConfig.setProxyPassword(clientConfigurations.getProxyPassword());
            }
        }

        BasicCredentials credentials = new BasicCredentials()
                .withAk(clientConfigurations.getAccessKey())
                .withSk(clientConfigurations.getSecretKey())
                .withProjectId(clientConfigurations.getProjectId());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Building Smn client");
        }

         
        SmnClient smnClient = SmnClient.newBuilder()
                .withCredential(credentials)
                .withHttpConfig(httpConfig)
                .withEndpoint(clientConfigurations.getServiceEndpoint())
                .build();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Successfully initialized Smn client");
        }
        return smnClient;
    }
Pair #3696 Negative (Non-Clone)
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 1783_1463
ClassID: 1783
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
Name: org.apache.camel.component.jetty.JettyHttpComponent.connect(HttpConsumer consumer)
    public void connect(HttpConsumer consumer) throws Exception {
         
        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) consumer.getEndpoint();
        String connectorKey = getConnectorKey(endpoint);

        try {
            CONNECTORS.compute(connectorKey, (cKey, connectorRef) -> {
                try {
                    return connect(consumer, endpoint, cKey, connectorRef);
                } catch (Exception e) {
                    throw new RuntimeCamelException(e);
                }
            });
        } catch (RuntimeCamelException e) {
            throw (Exception) e.getCause();
        }
    }
Pair #3697 Negative (Non-Clone)
ID: 1186_1011
ClassID: 1186
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarIterator.java
Name: org.apache.camel.dataformat.tarfile.TarIterator.TarIterator(Exchange exchange, InputStream inputStream)
    public TarIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;
        if (inputStream instanceof TarArchiveInputStream) {
            tarInputStream = (TarArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.TAR,
                        new BufferedInputStream(inputStream));
                tarInputStream = (TarArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 2354_1849
ClassID: 2354
File: systems/camel-java/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2QueryHelper.java
Name: org.apache.camel.component.aws2.athena.Athena2QueryHelper.determineDelay(final Exchange exchange, Athena2Configuration configuration)
    private long determineDelay(final Exchange exchange, Athena2Configuration configuration) {
        Long delay = exchange.getIn().getHeader(Athena2Constants.DELAY, Long.class);

        if (ObjectHelper.isEmpty(delay)) {
            delay = configuration.getDelay();
            LOG.trace("AWS Athena delay is missing, using default one [{}]", delay);
        }

        if (ObjectHelper.isEmpty(delay)) {
            throw new IllegalArgumentException("AWS Athena delay is required.");
        }

        if (delay < 0) {
            throw new IllegalArgumentException("AWS Athena delay must be >= 0");
        }

        return delay;
    }
Pair #3698 Negative (Non-Clone)
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
ID: 1855_1511
ClassID: 1855
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.generateKeyPair(String algorithm, String keyId, Object parameterSpec)
    public KeyPair generateKeyPair(String algorithm, String keyId, Object parameterSpec) throws Exception {
        LOG.info("Generating key pair for algorithm: {}, keyId: {}", algorithm, keyId);

        KeyPairGenerator generator;
        String provider = determineProvider(algorithm);

        if (provider != null) {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm), provider);
        } else {
            generator = KeyPairGenerator.getInstance(getAlgorithmName(algorithm));
        }

         
        if (parameterSpec != null) {
            if (parameterSpec instanceof AlgorithmParameterSpec) {
                generator.initialize((AlgorithmParameterSpec) parameterSpec, new SecureRandom());
            } else if (parameterSpec instanceof Integer) {
                generator.initialize((Integer) parameterSpec, new SecureRandom());
            }
        } else {
             
            AlgorithmParameterSpec defaultSpec = getDefaultParameterSpec(algorithm);
            if (defaultSpec != null) {
                generator.initialize(defaultSpec, new SecureRandom());
            } else {
                generator.initialize(getDefaultKeySize(algorithm), new SecureRandom());
            }
        }

        KeyPair keyPair = generator.generateKeyPair();

         
        KeyMetadata metadata = new KeyMetadata(keyId, algorithm);
        metadata.setDescription("Generated on " + new Date());

         
        storeKey(keyId, keyPair, metadata);

        LOG.info("Generated key pair: {}", metadata);
        return keyPair;
    }
Pair #3699 Negative (Non-Clone)
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 2666_2349
ClassID: 2666
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeadersProcessor.java
Name: org.apache.camel.processor.SetHeadersProcessor.getTraceLabel()
    public String getTraceLabel() {
        StringBuilder sb = new StringBuilder(256);
        sb.append("setHeaders[");
        int headerIndex = 0;
        for (Expression expression : expressions) {
            if (headerIndex > 0) {
                sb.append("; ");
            }
            sb.append(headerNames.get(headerIndex++).toString());
            sb.append(", ");
            sb.append(expression.toString());
        }
        sb.append("]");
        return sb.toString();
    }
Pair #3700 Negative (Non-Clone)
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
ID: 220_249
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.s3.getObject");

        if (message.getHeaders().containsKey(AWS2S3Constants.BUCKET_NAME)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.s3.bucket." + message.getHeader(AWS2S3Constants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(AWS2S3Constants.KEY, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3701 Negative (Non-Clone)
ID: 741_671
ClassID: 741
File: systems/camel-java/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Name: org.apache.camel.component.mina.MinaConsumer.getLineDelimiterParameter(MinaTextLineDelimiter delimiter)
    private static LineDelimiter getLineDelimiterParameter(MinaTextLineDelimiter delimiter) {
        if (delimiter == null) {
            return LineDelimiter.DEFAULT;
        }

        switch (delimiter) {
            case DEFAULT:
                return LineDelimiter.DEFAULT;
            case AUTO:
                return LineDelimiter.AUTO;
            case UNIX:
                return LineDelimiter.UNIX;
            case WINDOWS:
                return LineDelimiter.WINDOWS;
            case MAC:
                return LineDelimiter.MAC;
            default:
                throw new IllegalArgumentException("Unknown textline delimiter: " + delimiter);
        }
    }
ID: 2602_2226
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getFloatOrDefault(final String key, final float defaultValue)
    public Float getFloatOrDefault(final String key, final float defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).floatValue();
    }
Pair #3702 Negative (Non-Clone)
ID: 1541_1359
ClassID: 1541
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
Name: org.apache.camel.component.netty.http.NettyHttpComponent.createProducer(CamelContext camelContext, String host, String verb, String basePath, String uriTemplate, String queryParameters, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
    public Producer createProducer(
            CamelContext camelContext, String host,
            String verb, String basePath, String uriTemplate, String queryParameters,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters)
            throws Exception {

         
        basePath = FileUtil.stripLeadingSeparator(basePath);
        uriTemplate = FileUtil.stripLeadingSeparator(uriTemplate);

         
        String url = "netty-http:" + host;
        if (!ObjectHelper.isEmpty(basePath)) {
            url += "/" + basePath;
        }
        if (!ObjectHelper.isEmpty(uriTemplate)) {
            url += "/" + uriTemplate;
        }

        RestConfiguration config = CamelContextHelper.getRestConfiguration(getCamelContext(), null, "netty-http");

        Map<String, Object> map = new HashMap<>();
         
        if (config.getProducerComponent() == null || config.getProducerComponent().equals("netty-http")) {
             
            if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                map.putAll(config.getEndpointProperties());
            }
        }

        if (host.startsWith("https:")) {
            map.put("ssl", true);
        }

         
        String query = URISupport.createQueryString(map);
        if (!query.isEmpty()) {
            url = url + "?" + query;
        }

        parameters = parameters != null ? new HashMap<>(parameters) : new HashMap<>();

         
         
         
        RestProducerFactoryHelper.setupComponentFor(url, camelContext, (Map<String, Object>) parameters.remove("component"));

        NettyHttpEndpoint endpoint = (NettyHttpEndpoint) camelContext.getEndpoint(url, parameters);
        String path = uriTemplate != null ? uriTemplate : basePath;

        HeaderFilterStrategy headerFilterStrategy
                = resolveAndRemoveReferenceParameter(parameters, "headerFilterStrategy", HeaderFilterStrategy.class);
        if (headerFilterStrategy != null) {
            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
        } else {
            endpoint.setHeaderFilterStrategy(new NettyHttpRestHeaderFilterStrategy(path, queryParameters));
        }
         
        ServiceHelper.startService(endpoint);

        return endpoint.createProducer();
    }
ID: 3174_2446
ClassID: 3174
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors)
    public String dumpRoutesStatsAsXml(boolean fullStats, boolean includeProcessors) throws Exception {
        StringBuilder sb = new StringBuilder();
        sb.append("<camelContextStat")
                .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", getCamelId(), getState(), getUptimeMillis()));
         
        String stat = dumpStatsAsXml(fullStats);
        sb.append(" exchangesInflight=\"").append(getInflightExchanges()).append("\"");
        sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

        MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
        if (server != null) {
             
            String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
            ObjectName query = ObjectName
                    .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
            Set<ObjectName> routes = server.queryNames(query, null);

            List<ManagedProcessorMBean> processors = new ArrayList<>();
            if (includeProcessors) {
                 
                query = ObjectName.getInstance(
                        jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=processors,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName on : names) {
                    ManagedProcessorMBean processor = context.getManagementStrategy().getManagementAgent().newProxyClient(on,
                            ManagedProcessorMBean.class);
                    processors.add(processor);
                }
            }
            processors.sort(new OrderProcessorMBeans());

             
            sb.append("  <routeStats>\n");
            for (ObjectName on : routes) {
                ManagedRouteMBean route
                        = context.getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedRouteMBean.class);
                sb.append("    <routeStat")
                        .append(String.format(" id=\"%s\" state=\"%s\" uptime=\"%s\"", route.getRouteId(), route.getState(),
                                route.getUptimeMillis()));
                if (route.getRouteGroup() != null) {
                    sb.append(String.format(" group=\"%s\"", route.getRouteGroup()));
                }
                if (route.getSourceLocation() != null) {
                    sb.append(String.format(" sourceLocation=\"%s\"", route.getSourceLocation()));
                }

                 
                stat = route.dumpStatsAsXml(fullStats);
                sb.append(" exchangesInflight=\"").append(route.getExchangesInflight()).append("\"");
                sb.append(" ").append(stat, 7, stat.length() - 2).append(">\n");

                 
                if (includeProcessors) {
                    sb.append("      <processorStats>\n");
                    for (ManagedProcessorMBean processor : processors) {
                        int line = processor.getSourceLineNumber() != null ? processor.getSourceLineNumber() : -1;
                         
                        if (route.getRouteId().equals(processor.getRouteId())) {
                            sb.append("        <processorStat")
                                    .append(String.format(
                                            " id=\"%s\" index=\"%s\" state=\"%s\" disabled=\"%s\" sourceLineNumber=\"%s\"",
                                            processor.getProcessorId(), processor.getIndex(), processor.getState(),
                                            processor.getDisabled(), line));
                             
                            stat = processor.dumpStatsAsXml(fullStats);
                            sb.append(" exchangesInflight=\"").append(processor.getExchangesInflight()).append("\"");
                            sb.append(" ").append(stat, 7, stat.length()).append("\n");
                        }
                    }
                    sb.append("      </processorStats>\n");
                }
                sb.append("    </routeStat>\n");
            }
            sb.append("  </routeStats>\n");
        }

        sb.append("</camelContextStat>");
        return sb.toString();
    }
Pair #3703 Negative (Non-Clone)
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
ID: 229_273
ClassID: 229
File: systems/camel-java/components/camel-smb/src/main/java/org/apache/camel/component/smb/strategy/SmbChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.smb.strategy.SmbChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FileIdBothDirectoryInformation> operations, GenericFile<FileIdBothDirectoryInformation> file,
            Exchange exchange) {

        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("smb-acquire-exclusive-read-lock")
                .build();

        SmbExclusiveReadLockCheck exclusiveReadLockCheck = new SmbExclusiveReadLockCheck(minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }
        return true;
    }
Pair #3704 Negative (Non-Clone)
ID: 1310_1178
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
Name: org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ResourceQuotaList resList;

        if (ObjectHelper.isEmpty(namespace)) {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inAnyNamespace().list();
        } else {
            resList = getEndpoint().getKubernetesClient().resourceQuotas().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, resList.getItems());
    }
ID: 2579_2173
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
Pair #3705 Negative (Non-Clone)
ID: 1841_1503
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XProducer.java
Name: org.apache.camel.component.plc4x.Plc4XProducer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
            if (plc4XEndpoint.isConnected() && !plc4XEndpoint.canWrite()) {
                throw new PlcException("This connection (" + plc4XEndpoint.getUri() + ") doesn't support writing.");
            }
        } catch (PlcConnectionException e) {
            if (log.isTraceEnabled()) {
                log.error("Connection setup failed, stopping producer", e);
            } else {
                log.error("Connection setup failed, stopping producer");
            }
            doStop();
        }
    }
ID: 3244_2576
ClassID: 3244
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertVariableReifier.java
Name: org.apache.camel.reifier.ConvertVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        String key = parseString(definition.getName());
        Expression nameExpr;
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        String toKey = parseString(definition.getToName());
        Expression toNameExpr = null;
        if (toKey != null) {
            if (LanguageSupport.hasSimpleFunction(toKey)) {
                toNameExpr = camelContext.resolveLanguage("simple").createExpression(toKey);
            } else {
                toNameExpr = camelContext.resolveLanguage("constant").createExpression(toKey);
            }
            toNameExpr.init(camelContext);
        }

        Class<?> typeClass = parse(Class.class, or(definition.getTypeClass(), parseString(definition.getType())));
        String charset = validateCharset(parseString(definition.getCharset()));
        boolean mandatory = true;
        if (definition.getMandatory() != null) {
            mandatory = parseBoolean(definition.getMandatory(), true);
        }
        ConvertVariableProcessor answer
                = new ConvertVariableProcessor(key, nameExpr, toKey, toNameExpr, typeClass, charset, mandatory);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3706 Negative (Non-Clone)
ID: 1572_1383
ClassID: 1572
File: systems/camel-java/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7MLLPDecoder.java
Name: org.apache.camel.component.hl7.HL7MLLPDecoder.decoderState(IoSession session)
    private DecoderState decoderState(IoSession session) {
        synchronized (session) {
            DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE);
            if (decoderState == null) {
                decoderState = new DecoderState();
                session.setAttribute(DECODER_STATE, decoderState);
            }
            return decoderState;
        }
    }
ID: 445_475
ClassID: 445
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
Name: org.apache.camel.component.netty.handlers.ServerChannelHandler.processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx)
    private void processSynchronously(final Exchange exchange, final ChannelHandlerContext ctx) {
        try {
            consumer.getProcessor().process(exchange);
            if (consumer.getConfiguration().isSync()) {
                sendResponse(ctx, exchange);
            }
        } catch (Exception e) {
            consumer.getExceptionHandler().handleException(e);
        } finally {
            consumer.doneUoW(exchange);
            consumer.releaseExchange(exchange, false);
        }
    }
Pair #3707 Negative (Non-Clone)
ID: 3228_2521
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.collateExpression(final String expression, final int group)
    public static Expression collateExpression(final String expression, final int group) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                 
                exp = context.resolveLanguage("simple").createExpression(expression);
                exp.init(context);
                exp = ExpressionBuilder.groupIteratorExpression(exp, null, Integer.toString(group), false);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "collate(" + expression + "," + group + ")";
            }
        };
    }
ID: 2508_2060
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.methods(ClassInfo ci)
    protected Set<MethodInfo> methods(ClassInfo ci) {
        Set<MethodInfo> methods = new TreeSet<>(Comparator.comparing(MethodInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            methods.addAll(current.methods());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return methods;
    }
Pair #3708 Negative (Non-Clone)
ID: 185_180
ClassID: 185
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getQueryResult(String jobId, String batchId, String resultId, Map<String, List<String>> headers, final StreamResponseCallback callback)
    public void getQueryResult(
            String jobId, String batchId, String resultId, Map<String, List<String>> headers,
            final StreamResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchResultUrl(jobId, batchId, resultId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(response, headers, ex);
            }
        });
    }
ID: 3224_2514
ClassID: 3224
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/UnaryExpression.java
Name: org.apache.camel.language.simple.ast.UnaryExpression.createDecExpression(CamelContext camelContext, final Expression leftExp)
    private Expression createDecExpression(CamelContext camelContext, final Expression leftExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Number num = leftExp.evaluate(exchange, Number.class);
                if (num != null) {
                    long val = num.longValue();
                    val--;

                     
                    Object left = leftExp.evaluate(exchange, Object.class);
                    try {
                        left = camelContext.getTypeConverter().mandatoryConvertTo(left.getClass(), exchange, val);
                    } catch (NoTypeConversionAvailableException e) {
                        throw RuntimeCamelException.wrapRuntimeCamelException(e);
                    }

                     
                    return camelContext.getTypeConverter().convertTo(type, left);
                }
                 
                Exception cause = new CamelExchangeException("Cannot evaluate " + leftExp + " as a number", exchange);
                throw RuntimeCamelException.wrapRuntimeCamelException(cause);
            }

            @Override
            public String toString() {
                return left + operator.toString();
            }
        };
    }
Pair #3709 Negative (Non-Clone)
ID: 3218_2500
ClassID: 3218
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
Name: org.apache.camel.impl.converter.AnnotationTypeConverterLoader.handleHasFallbackConverterAnnotation(TypeConverterRegistry registry, Class<?> type, CachingInjector<?> injector, Method method, boolean allowNull)
    private CachingInjector<?> handleHasFallbackConverterAnnotation(
            TypeConverterRegistry registry, Class<?> type,
            CachingInjector<?> injector, Method method, boolean allowNull) {
        if (isValidFallbackConverterMethod(method)) {
            int modifiers = method.getModifiers();
            if (isAbstract(modifiers) || !isPublic(modifiers)) {
                LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method is not "
                         + "a public and concrete method",
                        type.getCanonicalName(), method);
            } else {
                Class<?> toType = method.getReturnType();
                if (toType.equals(Void.class)) {
                    LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method "
                             + "returns a void method",
                            type.getCanonicalName(), method);
                } else {
                    if (isStatic(modifiers)) {
                        registerFallbackTypeConverter(registry,
                                new StaticMethodFallbackTypeConverter(method, registry, allowNull), method);
                    } else {
                        if (injector == null) {
                            injector = new CachingInjector<>(registry, CastUtils.cast(type, Object.class));
                        }
                        registerFallbackTypeConverter(registry,
                                new InstanceMethodFallbackTypeConverter(injector, method, registry, allowNull), method);
                    }
                }
            }
        } else {
            LOG.warn("Ignoring bad fallback converter on type: {} method: {} as a fallback converter method should have "
                     + "one parameter",
                    type.getCanonicalName(), method);
        }
        return injector;
    }
ID: 175_153
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Jobs responseJobs = null;
                try {
                    responseJobs = DefaultBulkApiV2Client.this.unmarshalResponse(response, request, Jobs.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJobs, responseHeaders, ex);
            }
Pair #3710 Negative (Non-Clone)
ID: 239_294
ClassID: 239
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/vault/IBMEventStreamReloadTriggerTask.java
Name: org.apache.camel.component.ibm.secrets.manager.vault.IBMEventStreamReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 1499_1346
ClassID: 1499
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypeUTF16LE(String flavor, String mimeType)
    public DocFlavor forMimeTypeUTF16LE(String flavor, String mimeType) {
        if (mimeType.equalsIgnoreCase("TEXT_HTML_UTF_16LE")) {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_HTML_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_HTML_UTF_16LE;
            }
        } else {
            if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
                d = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
                d = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_16LE;
            } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
                d = DocFlavor.URL.TEXT_PLAIN_UTF_16LE;
            }
        }

        return d;
    }
Pair #3711 Negative (Non-Clone)
ID: 1256_1103
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {

        lock.lock();
        try {
            executorServiceRef = parseString(executorServiceRef);
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 464_495
ClassID: 464
File: systems/camel-java/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
Name: org.apache.camel.component.braintree.internal.BraintreeApiCollection.getEndpointConfiguration(BraintreeApiName apiName)
    public BraintreeConfiguration getEndpointConfiguration(BraintreeApiName apiName) {
        BraintreeConfiguration result = null;
        switch (apiName) {
            case ADD_ON:
                result = new AddOnGatewayEndpointConfiguration();
                break;
            case ADDRESS:
                result = new AddressGatewayEndpointConfiguration();
                break;
            case CLIENT_TOKEN:
                result = new ClientTokenGatewayEndpointConfiguration();
                break;
            case CREDIT_CARD_VERIFICATION:
                result = new CreditCardVerificationGatewayEndpointConfiguration();
                break;
            case CUSTOMER:
                result = new CustomerGatewayEndpointConfiguration();
                break;
            case DISCOUNT:
                result = new DiscountGatewayEndpointConfiguration();
                break;
            case DISPUTE:
                result = new DisputeGatewayEndpointConfiguration();
                break;
            case DOCUMENT_UPLOAD:
                result = new DocumentUploadGatewayEndpointConfiguration();
                break;
            case MERCHANT_ACCOUNT:
                result = new MerchantAccountGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD:
                result = new PaymentMethodGatewayEndpointConfiguration();
                break;
            case PAYMENT_METHOD_NONCE:
                result = new PaymentMethodNonceGatewayEndpointConfiguration();
                break;
            case OAUTH:
                result = new OAuthGatewayEndpointConfiguration();
                break;
            case PLAN:
                result = new PlanGatewayEndpointConfiguration();
                break;
            case REPORT:
                result = new ReportGatewayEndpointConfiguration();
                break;
            case SETTLEMENT_BATCH_SUMMARY:
                result = new SettlementBatchSummaryGatewayEndpointConfiguration();
                break;
            case SUBSCRIPTION:
                result = new SubscriptionGatewayEndpointConfiguration();
                break;
            case TRANSACTION:
                result = new TransactionGatewayEndpointConfiguration();
                break;
            case US_BANK_ACCOUNT:
                result = new UsBankAccountGatewayEndpointConfiguration();
                break;
            case WEBHOOK_NOTIFICATION:
                result = new WebhookNotificationGatewayEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3712 Negative (Non-Clone)
ID: 2670_2358
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfGroup(String key)
    public int forceCompletionOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force completion triggered for correlation key: {}", key);
                 
                exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                Exchange answer = onCompletion(key, exchange, exchange, false, false);
                if (answer != null) {
                    onSubmitCompletion(key, answer);
                }
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force completion of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 1555_1375
ClassID: 1555
File: systems/camel-java/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
Name: org.apache.camel.language.joor.JavaAnnotationExpressionFactory.createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class<?> expressionReturnType)
    public Expression createExpression(
            CamelContext camelContext, Annotation annotation,
            LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {

        Object[] params = new Object[3];
        Class<?> resultType = getResultType(annotation);
        if (resultType.equals(Object.class)) {
            resultType = expressionReturnType;
        }
        params[0] = resultType;
        if (annotation instanceof Java) {
            Java joorAnnotation = (Java) annotation;
            params[1] = joorAnnotation.preCompile();
            params[2] = joorAnnotation.singleQuotes();
        }
        String expression = getExpressionFromAnnotation(annotation);
        return camelContext.resolveLanguage("java").createExpression(expression, params);
    }
Pair #3713 Negative (Non-Clone)
ID: 778_703
ClassID: 778
File: systems/camel-java/components/camel-ibm/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerProducer.java
Name: org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerProducer.createArbitratySecret(Exchange exchange)
    private void createArbitratySecret(Exchange exchange) {
        ArbitrarySecretPrototype.Builder arbitrarySecretResourceBuilder = new ArbitrarySecretPrototype.Builder();
        if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class))) {
            arbitrarySecretResourceBuilder
                    .name(exchange.getMessage().getHeader(IBMSecretsManagerConstants.SECRET_NAME, String.class));
        } else {
            throw new IllegalArgumentException(
                    "Secret Name must be specified. Set the header '" + IBMSecretsManagerConstants.SECRET_NAME
                                               + "' with the desired secret name.");
        }
        String payload = exchange.getMessage().getBody(String.class);
        if (ObjectHelper.isEmpty(payload)) {
            throw new IllegalArgumentException(
                    "Secret payload must be provided in the message body for createArbitrarySecret operation.");
        }
        arbitrarySecretResourceBuilder.payload(payload);
        arbitrarySecretResourceBuilder.secretType(ArbitrarySecretPrototype.SecretType.ARBITRARY);
        ArbitrarySecretPrototype arbitrarySecretResource = arbitrarySecretResourceBuilder.build();

        CreateSecretOptions createSecretOptions = new CreateSecretOptions.Builder()
                .secretPrototype(arbitrarySecretResource)
                .build();
        Response<Secret> createResp = getEndpoint().getSecretManager().createSecret(createSecretOptions).execute();

        exchange.getMessage().setBody(createResp.getResult().getId());
    }
ID: 2602_2222
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getByteOrDefault(final String key, final byte defaultValue)
    public Byte getByteOrDefault(final String key, final byte defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).byteValue();
    }
Pair #3714 Negative (Non-Clone)
ID: 1100_930
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchIssueProducer.java
Name: org.apache.camel.component.jira.producer.FetchIssueProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue);
    }
ID: 243_313
ClassID: 243
File: systems/camel-java/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
Name: org.apache.camel.component.hashicorp.vault.HashicorpVaultPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            String keyRemainder = StringHelper.before(remainder, "#");
            engine = StringHelper.before(keyRemainder, ":");
            key = StringHelper.after(keyRemainder, ":");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            engine = StringHelper.before(remainder, ":");
            key = StringHelper.after(remainder, ":");
            if (key.contains(":")) {
                defaultValue = StringHelper.after(key, ":");
                if (ObjectHelper.isNotEmpty(defaultValue)) {
                    if (defaultValue.contains("@")) {
                        version = StringHelper.after(defaultValue, "@");
                        defaultValue = StringHelper.before(defaultValue, "@");
                    }
                }
                if (key.contains(":")) {
                    key = StringHelper.before(key, ":");
                }
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            } else {
                if (key.contains("@")) {
                    version = StringHelper.after(key, "@");
                    key = StringHelper.before(key, "@");
                }
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3715 Negative (Non-Clone)
ID: 557_538
ClassID: 557
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.closeQuietly(Connection con)
    private void closeQuietly(Connection con) {
        if (con != null) {
            try {
                if (!con.isClosed()) {
                    con.close();
                }
            } catch (Exception sqle) {
                LOG.debug("Error by closing connection", sqle);
            }
        }
    }
ID: 925_801
ClassID: 925
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteEndpoint.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteEndpoint.afterPropertiesSet()
    public void afterPropertiesSet() {
        if (ObjectHelper.isEmpty(loggerId)) {
            log = LoggerFactory.getLogger(this.getClass().getName());
        } else {
            log = LoggerFactory.getLogger(loggerId);
        }

         
         
         

        log.trace("Project ID: {}", this.projectId);
        log.trace("Destination Name: {}", this.destinationName);
    }
Pair #3716 Negative (Non-Clone)
ID: 2634_2266
ClassID: 2634
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java
Name: org.apache.camel.impl.engine.PrototypeExchangeFactory.logUsageSummary(Logger log, String name, int pooled)
    void logUsageSummary(Logger log, String name, int pooled) {
        if (statisticsEnabled && consumer != null) {
             
            long created = statistics.getCreatedCounter();
            long acquired = statistics.getAcquiredCounter();
            long released = statistics.getReleasedCounter();
            long discarded = statistics.getDiscardedCounter();
            boolean shouldLog = pooled > 0 || created > 0 || acquired > 0 || released > 0 || discarded > 0;
            if (shouldLog) {
                String id = getRouteId();
                if (id == null) {
                    id = "";
                } else {
                    id = " " + id;
                }
                String uri = consumer.getEndpoint().getEndpointBaseUri();
                uri = URISupport.sanitizeUri(uri);

                 
                boolean leak = created + acquired > released + discarded;
                if (leak) {
                    long leaks = (created + acquired) - (released + discarded);
                    log.warn(
                            "{}{} ({}) usage (leaks detected: {}) [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, leaks, pooled, created, acquired, released, discarded);
                } else {
                    log.info("{}{} ({}) usage [pooled: {}, created: {}, acquired: {}, released: {}, discarded: {}]",
                            name, id, uri, pooled, created, acquired, released, discarded);
                }
            }
        }
    }
ID: 3287_2685
ClassID: 3287
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message, Throwable th)
    public static void log(Logger log, LoggingLevel level, String message, Throwable th) {
        switch (level) {
            case DEBUG:
                log.debug(message, th);
                break;
            case ERROR:
                log.error(message, th);
                break;
            case INFO:
                log.info(message, th);
                break;
            case TRACE:
                log.trace(message, th);
                break;
            case WARN:
                log.warn(message, th);
                break;
            default:
        }
    }
Pair #3717 Negative (Non-Clone)
ID: 1240_1064
ClassID: 1240
File: systems/camel-java/components/camel-ai/camel-kserve/src/generated/java/org/apache/camel/component/kserve/KServeConverterLoader.java
Name: org.apache.camel.component.kserve.KServeConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, inference.GrpcPredictV2.ModelInferRequest.class, inference.GrpcPredictV2.ModelInferRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelInferRequest((inference.GrpcPredictV2.ModelInferRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ModelMetadataRequest.class, inference.GrpcPredictV2.ModelMetadataRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelMetadataRequest((inference.GrpcPredictV2.ModelMetadataRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ModelReadyRequest.class, inference.GrpcPredictV2.ModelReadyRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toModelReadyRequest((inference.GrpcPredictV2.ModelReadyRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerLiveRequest.class, inference.GrpcPredictV2.ServerLiveRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerLiveRequest((inference.GrpcPredictV2.ServerLiveRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerMetadataRequest.class, inference.GrpcPredictV2.ServerMetadataRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerMetadataRequest((inference.GrpcPredictV2.ServerMetadataRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, inference.GrpcPredictV2.ServerReadyRequest.class, inference.GrpcPredictV2.ServerReadyRequest.Builder.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.kserve.KServeConverter.toServerReadyRequest((inference.GrpcPredictV2.ServerReadyRequest.Builder) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
Pair #3718 Negative (Non-Clone)
ID: 904_780
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
Name: org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection.GoogleDriveApiCollection()
    private GoogleDriveApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleDriveApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_ABOUT, new ApiMethodHelper<>(DriveAboutApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveAboutApiMethod.class, GoogleDriveApiName.DRIVE_ABOUT);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANGES, new ApiMethodHelper<>(DriveChangesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChangesApiMethod.class, GoogleDriveApiName.DRIVE_CHANGES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_CHANNELS, new ApiMethodHelper<>(DriveChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveChannelsApiMethod.class, GoogleDriveApiName.DRIVE_CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_COMMENTS, new ApiMethodHelper<>(DriveCommentsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveCommentsApiMethod.class, GoogleDriveApiName.DRIVE_COMMENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_DRIVES, new ApiMethodHelper<>(DriveDrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveDrivesApiMethod.class, GoogleDriveApiName.DRIVE_DRIVES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_FILES, new ApiMethodHelper<>(DriveFilesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveFilesApiMethod.class, GoogleDriveApiName.DRIVE_FILES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_PERMISSIONS, new ApiMethodHelper<>(DrivePermissionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DrivePermissionsApiMethod.class, GoogleDriveApiName.DRIVE_PERMISSIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REPLIES, new ApiMethodHelper<>(DriveRepliesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRepliesApiMethod.class, GoogleDriveApiName.DRIVE_REPLIES);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_REVISIONS, new ApiMethodHelper<>(DriveRevisionsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveRevisionsApiMethod.class, GoogleDriveApiName.DRIVE_REVISIONS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleDriveApiName.DRIVE_TEAMDRIVES, new ApiMethodHelper<>(DriveTeamdrivesApiMethod.class, aliases, nullableArgs));
        apiMethods.put(DriveTeamdrivesApiMethod.class, GoogleDriveApiName.DRIVE_TEAMDRIVES);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
ID: 1039_897
ClassID: 1039
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
    Consumer doCreateConsumer(
            CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api)
            throws Exception {
        String path = basePath;
        if (uriTemplate != null) {
             
            if (uriTemplate.startsWith("/")) {
                path = path + uriTemplate;
            } else {
                path = path + "/" + uriTemplate;
            }
        }
        path = FileUtil.stripLeadingSeparator(path);
        String scheme = "http";
        String host = "";
        int port = 0;

        RestConfiguration config = configuration;
        if (config == null) {
            config = CamelContextHelper.getRestConfiguration(camelContext, getComponentName());

        }
        if (config.getScheme() != null) {
            scheme = config.getScheme();
        }
        if (config.getHost() != null) {
            host = config.getHost();
        }
        int num = config.getPort();
        if (num > 0) {
            port = num;
        }

         
        String contextPath = config.getContextPath();
        if (ObjectHelper.isNotEmpty(contextPath)) {
            contextPath = FileUtil.stripTrailingSeparator(contextPath);
            contextPath = FileUtil.stripLeadingSeparator(contextPath);
            if (ObjectHelper.isNotEmpty(contextPath)) {
                path = contextPath + "/" + path;
            }
        }

         
        if (ObjectHelper.isEmpty(host)) {
            host = RestComponentHelper.resolveRestHostName(host, config);
        }

        Map<String, Object> map = RestComponentHelper.initRestEndpointProperties(getComponentName(), config);
         

         
        String restrict = verb.toUpperCase(Locale.US);

        boolean explicitOptions = restrict.contains("OPTIONS");
        boolean cors = config.isEnableCORS();

        if (cors) {
             
            map.put("optionsEnabled", "true");
        } else if (explicitOptions) {
             
            map.put("optionsEnabled", "true");
        }

        if (api) {
            map.put("matchOnUriPrefix", "true");
        }

        RestComponentHelper.addHttpRestrictParam(map, verb, !explicitOptions);

        String url = RestComponentHelper.createRestConsumerUrl(getComponentName(), scheme, host, port, path, map);

        UndertowEndpoint endpoint = (UndertowEndpoint) camelContext.getEndpoint(url, parameters);

        if (!map.containsKey("undertowHttpBinding")) {
             
            endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));
        }

         
        Consumer consumer = endpoint.createConsumer(processor);
        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
            setProperties(camelContext, consumer, config.getConsumerProperties());
        }
        if (consumer instanceof UndertowConsumer) {
             
            ((UndertowConsumer) consumer).setRest(true);
        }

        return consumer;
    }
Pair #3719 Negative (Non-Clone)
ID: 1038_895
ClassID: 1038
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/RestRootHandler.java
Name: org.apache.camel.component.undertow.handlers.RestRootHandler.pathAsKey(String path)
    private static String pathAsKey(String path) {
         
        if (path == null || path.equals("/")) {
            path = "";
        }

         
        path = StringHelper.before(path, "?", path);

         
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }

        return UnsafeUriCharactersEncoder.encodeHttpURI(path);
    }
ID: 1954_1591
ClassID: 1954
File: systems/camel-java/components/camel-ai/camel-torchserve/src/main/java/org/apache/camel/component/torchserve/producer/InferenceProducer.java
Name: org.apache.camel.component.torchserve.producer.InferenceProducer.predictions(Exchange exchange)
    private void predictions(Exchange exchange) throws ApiException {
        Message message = exchange.getMessage();
        TorchServeConfiguration configuration = getEndpoint().getConfiguration();
        String modelName = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_NAME, String.class))
                .orElse(configuration.getModelName());
        String modelVersion = Optional
                .ofNullable(message.getHeader(TorchServeConstants.MODEL_VERSION, String.class))
                .orElse(configuration.getModelVersion());
        Object body = message.getBody(byte[].class);
        Object response;
        if (modelVersion == null) {
            response = this.inference.predictions(modelName, body);
        } else {
            response = this.inference.predictions(modelName, modelVersion, body);
        }
        message.setBody(response);
    }
Pair #3720 Negative (Non-Clone)
ID: 2467_1985
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

         
        Path outputFile = getOutputFile(Long.toString(pid));
        PathUtils.deleteFile(outputFile);

        JsonObject root = new JsonObject();
        root.put("action", "route-structure");
        root.put("filter", "*");
        root.put("brief", brief);
        Path file = getActionFile(Long.toString(pid));
        try {
            Files.writeString(file, root.toJson());
        } catch (Exception e) {
             
        }

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                row.routeId = o.getString("routeId");
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.type = line.getString("type");
                            code.id = line.getString("id");
                            code.level = line.getInteger("level");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match
                                = PatternHelper.matchPattern(row.location, f) || PatternHelper.matchPattern(row.routeId, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        PathUtils.deleteFile(outputFile);

        return 0;
    }
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3721 Negative (Non-Clone)
ID: 2615_2264
ClassID: 2615
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(JBangModel model)
    public static JsonObject asJsonObject(JBangModel model) {
        JsonObject json = new JsonObject();
        JsonArray groups = new JsonArray();
        for (JBangGroupModel group : model.getGroups()) {
            JsonObject j = new JsonObject();
            j.put("name", group.getName());
            if (group.getDescription() != null) {
                j.put("description", group.getDescription());
            }
            if (group.getSourceType() != null) {
                j.put("sourceType", group.getSourceType());
            }
            groups.add(j);
        }
        json.put("groups", groups);
        JsonArray props = new JsonArray();
        for (JBangOptionModel prop : model.getOptions()) {
            JsonObject j = new JsonObject();
            j.put("name", prop.getName());
            j.put("required", prop.isRequired());
            if (prop.getDescription() != null) {
                j.put("description", prop.getDescription());
            }
            if (prop.getGroup() != null) {
                j.put("group", prop.getGroup());
            }
            if (prop.getLabel() != null) {
                j.put("label", prop.getLabel());
            }
            if (prop.getSourceType() != null) {
                j.put("sourceType", prop.getSourceType());
            }
            j.put("type", prop.getType());
            j.put("javaType", prop.getJavaType());
            if (prop.getDefaultValue() != null) {
                j.put("defaultValue", prop.resolveDefaultValue());
            }
            j.put("secret", prop.isSecret());
            if (prop.getEnums() != null) {
                j.put("enum", prop.getEnums());
            }
            if (prop.isDeprecated()) {
                j.put("deprecated", prop.isDeprecated());
            }
            if (prop.isAutowired()) {
                j.put("autowired", prop.isAutowired());
            }
            props.add(j);
        }
        json.put("properties", props);
        return json;
    }
ID: 488_520
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/generated/java/org/apache/camel/component/cxf/converter/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.converter.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.cxf.message.MessageContentsList.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toString((org.apache.cxf.message.MessageContentsList) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.converter.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3722 Negative (Non-Clone)
ID: 1892_1563
ClassID: 1892
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainCommandLineSupport.java
Name: org.apache.camel.main.MainCommandLineSupport.doProcess(String arg, LinkedList<String> remainingArgs)
        protected void doProcess(String arg, LinkedList<String> remainingArgs) {
            if (remainingArgs.isEmpty()) {
                System.err.println("Expected fileName for ");
                showOptions();
                completed();
            } else {
                String parameter = remainingArgs.removeFirst();
                doProcess(arg, parameter, remainingArgs);
            }
        }
ID: 172_129
ClassID: 172
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isAnalyticsOperation(OperationName operationName)
    private static boolean isAnalyticsOperation(OperationName operationName) {
        switch (operationName) {
            case GET_RECENT_REPORTS:
            case GET_REPORT_DESCRIPTION:
            case EXECUTE_SYNCREPORT:
            case EXECUTE_ASYNCREPORT:
            case GET_REPORT_INSTANCES:
            case GET_REPORT_RESULTS:
                return true;
            default:
                return false;
        }
    }
Pair #3723 Negative (Non-Clone)
ID: 487_517
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
Name: org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
ID: 32_55
ClassID: 32
File: systems/camel-java/components/camel-wal/src/main/java/org/apache/camel/component/wal/WriteAheadResumeStrategy.java
Name: org.apache.camel.component.wal.WriteAheadResumeStrategy.handleResult(PersistedLogEntry entry, Throwable t)
    private void handleResult(PersistedLogEntry entry, Throwable t) {
        try {
            if (t == null) {
                logWriter.updateState(entry, LogEntry.EntryState.PROCESSED);
            } else {
                logWriter.updateState(entry, LogEntry.EntryState.FAILED);
            }
        } catch (IOException e) {
            if (t == null) {
                LOG.error("Unable to update state: {}", e.getMessage(), e);
            } else {
                LOG.error("Unable to mark the record as failed: {}", e.getMessage(), e);
            }
        }
    }
Pair #3724 Negative (Non-Clone)
ID: 189_204
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processCloseJob(final Exchange exchange, final AsyncCallback callback)
    private void processCloseJob(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        JobInfo jobBody;
        String jobId;
        jobBody = exchange.getIn().getBody(JobInfo.class);
        if (jobBody != null) {
            jobId = jobBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.closeJob(jobId, determineHeaders(exchange), new BulkApiClient.JobInfoResponseCallback() {
            @Override
            public void onResponse(JobInfo jobInfo, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, jobInfo, headers, ex, callback);
            }
        });
    }
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
Pair #3725 Negative (Non-Clone)
ID: 1876_1551
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getFilters()
    public Map<String, String> getFilters() {
        Map<String, String> answer = new HashMap<>();
        if (this.filters != null) {
            answer.putAll(this.filters);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_FILTER_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_FILTER_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
ID: 3209_2479
ClassID: 3209
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
Name: org.apache.camel.impl.console.RouteDevConsole.doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task)
    protected void doCall(Map<String, Object> options, Function<ManagedRouteMBean, Object> task) {
        String path = (String) options.get(Exchange.HTTP_PATH);
        String subPath = path != null ? StringHelper.after(path, "/") : null;
        String filter = (String) options.get(FILTER);
        String limit = (String) options.get(LIMIT);
        final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);

        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
        if (mcc != null) {
            List<Route> routes = getCamelContext().getRoutes();
            routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
            routes.stream()
                    .map(route -> mcc.getManagedRoute(route.getRouteId()))
                    .filter(Objects::nonNull)
                    .filter(r -> accept(r, filter))
                    .filter(r -> accept(r, subPath))
                    .sorted(RouteDevConsole::sort)
                    .limit(max)
                    .forEach(task::apply);
        }
    }
Pair #3726 Negative (Non-Clone)
ID: 304_364
ClassID: 304
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RestSpanDecorator.java
Name: org.apache.camel.tracing.decorators.RestSpanDecorator.getPath(String uri)
    protected static String getPath(String uri) {
         
        String path = null;
        int index = uri.indexOf(':');
        if (index != -1) {
            index = uri.indexOf(':', index + 1);
            if (index != -1) {
                path = uri.substring(index + 1);
                index = path.indexOf('?');
                if (index != -1) {
                    path = path.substring(0, index);
                }
                path = path.replace(":", "");
                path = URLDecoder.decode(path, StandardCharsets.UTF_8);
            }
        }
        return path;
    }
ID: 1429_1284
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryCloseDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryCloseDelimiter = "--" + boundary + "--";  
         
         
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryCloseDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryCloseDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryCloseDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
Pair #3727 Negative (Non-Clone)
ID: 1500_1353
ClassID: 1500
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
Name: org.apache.camel.component.printer.PrinterConfiguration.assignOrientation(final String orientation)
    public OrientationRequested assignOrientation(final String orientation) {
        OrientationRequested answer;

        if (orientation == null) {
             
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("portrait")) {
            answer = OrientationRequested.PORTRAIT;
        } else if (orientation.equalsIgnoreCase("landscape")) {
            answer = OrientationRequested.LANDSCAPE;
        } else if (orientation.equalsIgnoreCase("reverse-portrait")) {
            answer = OrientationRequested.REVERSE_PORTRAIT;
        } else if (orientation.equalsIgnoreCase("reverse-landscape")) {
            answer = OrientationRequested.REVERSE_LANDSCAPE;
        } else {
            answer = OrientationRequested.PORTRAIT;
        }

        return answer;
    }
ID: 2509_2062
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.implementType(ClassInfo ci, DotName interfaceType)
    protected boolean implementType(ClassInfo ci, DotName interfaceType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(interfaceType)) {
            return true;
        }

        for (DotName name : ci.interfaceNames()) {
            if (name.equals(interfaceType)) {
                return true;
            }
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return implementType(
                    view.getClassByName(superName),
                    interfaceType);
        }

        return false;
    }
Pair #3728 Negative (Non-Clone)
ID: 3232_2547
ClassID: 3232
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.exchangeOgnlExpression(final String ognl)
    public static Expression exchangeOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Language bean;

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                Expression ognlExp = bean.createExpression(null, new Object[] { null, exchange, ognl });
                ognlExp.init(exchange.getContext());
                return ognlExp.evaluate(exchange, Object.class);
            }

            @Override
            public void init(CamelContext context) {
                bean = context.resolveLanguage("bean");
            }

            @Override
            public String toString() {
                return "exchangeOgnl(" + ognl + ")";
            }
        };
    }
ID: 377_412
ClassID: 377
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/MessageSelectorCreator.java
Name: org.apache.camel.component.jms.reply.MessageSelectorCreator.get()
    public String get() {
        lock.lock();
        try {
            if (!dirty) {
                return expression.toString();
            }

            expression = new StringBuilder(256);

            expression.append(correlationProperty).append("='");
            if (correlationIds.isEmpty()) {
                 
                expression.append("CamelDummyJmsMessageSelector'");
            } else {
                boolean first = true;
                for (String value : correlationIds) {
                    if (!first) {
                        expression.append(" OR ").append(correlationProperty).append("='");
                    }
                    expression.append(value).append("'");
                    if (first) {
                        first = false;
                    }
                }
            }

            String answer = expression.toString();

            dirty = false;
            return answer;
        } finally {
            lock.unlock();
        }
    }
Pair #3729 Negative (Non-Clone)
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
ID: 904_782
ClassID: 904
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.GoogleCalendarApiCollection()
    private GoogleCalendarApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
        final Map<Class<? extends ApiMethod>, GoogleCalendarApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.ACL, new ApiMethodHelper<>(CalendarAclApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarAclApiMethod.class, GoogleCalendarApiName.ACL);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.LIST, new ApiMethodHelper<>(CalendarCalendarListApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarListApiMethod.class, GoogleCalendarApiName.LIST);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CALENDARS, new ApiMethodHelper<>(CalendarCalendarsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarCalendarsApiMethod.class, GoogleCalendarApiName.CALENDARS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.CHANNELS, new ApiMethodHelper<>(CalendarChannelsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarChannelsApiMethod.class, GoogleCalendarApiName.CHANNELS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.COLORS, new ApiMethodHelper<>(CalendarColorsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarColorsApiMethod.class, GoogleCalendarApiName.COLORS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.FREEBUSY, new ApiMethodHelper<>(CalendarFreebusyApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarFreebusyApiMethod.class, GoogleCalendarApiName.FREEBUSY);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.EVENTS, new ApiMethodHelper<>(CalendarEventsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarEventsApiMethod.class, GoogleCalendarApiName.EVENTS);

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(GoogleCalendarApiName.SETTINGS, new ApiMethodHelper<>(CalendarSettingsApiMethod.class, aliases, nullableArgs));
        apiMethods.put(CalendarSettingsApiMethod.class, GoogleCalendarApiName.SETTINGS);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3730 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #3731 Negative (Non-Clone)
ID: 3254_2605
ClassID: 3254
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
Name: org.apache.camel.saga.InMemorySagaCoordinator.compensate(Exchange exchange)
    public CompletableFuture<Void> compensate(Exchange exchange) {
        boolean doAction = currentStatus.compareAndSet(Status.RUNNING, Status.COMPENSATING);

        if (doAction) {
            doCompensate(exchange);
        } else {
            Status status = currentStatus.get();
            if (status != Status.COMPENSATING && status != Status.COMPENSATED) {
                CompletableFuture<Void> res = new CompletableFuture<>();
                res.completeExceptionally(new IllegalStateException("Cannot compensate: status is " + status));
                return res;
            }
        }

        return CompletableFuture.completedFuture(null);
    }
ID: 3247_2586
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEventNotifierStrategies()
    private void setupEventNotifierStrategies() {
        Map<String, EventNotifier> eventNotifiers = getContext().getRegistry().findByTypeWithName(EventNotifier.class);
        if (eventNotifiers != null && !eventNotifiers.isEmpty()) {
            for (Entry<String, EventNotifier> entry : eventNotifiers.entrySet()) {
                EventNotifier notifier = entry.getValue();
                 
                if (!getContext().getManagementStrategy().getEventNotifiers().contains(notifier)) {
                    LOG.info("Using custom EventNotifier with id: {} and implementation: {}", entry.getKey(), notifier);
                    getContext().getManagementStrategy().addEventNotifier(notifier);
                }
            }
        }
    }
Pair #3732 Negative (Non-Clone)
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
Pair #3733 Negative (Non-Clone)
ID: 2522_2084
ClassID: 2522
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DebeziumPostgresComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.DebeziumPostgresComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "additionalProperties": getOrCreateConfiguration((DebeziumPostgresComponent) component).setAdditionalProperties((java.util.Map) value); return true;
            case "bridgeErrorHandler": ((DebeziumPostgresComponent) component).setBridgeErrorHandler((boolean) value); return true;
            case "configuration": ((DebeziumPostgresComponent) component).setConfiguration((org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration) value); return true;
            case "internalKeyConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalKeyConverter((java.lang.String) value); return true;
            case "internalValueConverter": getOrCreateConfiguration((DebeziumPostgresComponent) component).setInternalValueConverter((java.lang.String) value); return true;
            case "offsetCommitPolicy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitPolicy((java.lang.String) value); return true;
            case "offsetCommitTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetCommitTimeoutMs((long) value); return true;
            case "offsetFlushIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetFlushIntervalMs((long) value); return true;
            case "offsetStorage": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorage((java.lang.String) value); return true;
            case "offsetStorageFileName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageFileName((java.lang.String) value); return true;
            case "offsetStoragePartitions": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStoragePartitions((int) value); return true;
            case "offsetStorageReplicationFactor": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageReplicationFactor((int) value); return true;
            case "offsetStorageTopic": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOffsetStorageTopic((java.lang.String) value); return true;
            case "autowiredEnabled": ((DebeziumPostgresComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "binaryHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setBinaryHandlingMode((java.lang.String) value); return true;
            case "columnExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnExcludeList((java.lang.String) value); return true;
            case "columnIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnIncludeList((java.lang.String) value); return true;
            case "columnPropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setColumnPropagateSourceType((java.lang.String) value); return true;
            case "connectionValidationTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConnectionValidationTimeoutMs((long) value); return true;
            case "converters": getOrCreateConfiguration((DebeziumPostgresComponent) component).setConverters((java.lang.String) value); return true;
            case "customMetricTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomMetricTags((java.lang.String) value); return true;
            case "customSanitizePattern": getOrCreateConfiguration((DebeziumPostgresComponent) component).setCustomSanitizePattern((java.lang.String) value); return true;
            case "databaseDbname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseDbname((java.lang.String) value); return true;
            case "databaseHostname": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseHostname((java.lang.String) value); return true;
            case "databaseInitialStatements": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseInitialStatements((java.lang.String) value); return true;
            case "databasePassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePassword((java.lang.String) value); return true;
            case "databasePort": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabasePort((int) value); return true;
            case "databaseQueryTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseQueryTimeoutMs((int) value); return true;
            case "databaseSslcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslcert((java.lang.String) value); return true;
            case "databaseSslfactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslfactory((java.lang.String) value); return true;
            case "databaseSslkey": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslkey((java.lang.String) value); return true;
            case "databaseSslmode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslmode((java.lang.String) value); return true;
            case "databaseSslpassword": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslpassword((java.lang.String) value); return true;
            case "databaseSslrootcert": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseSslrootcert((java.lang.String) value); return true;
            case "databaseTcpkeepalive": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseTcpkeepalive((boolean) value); return true;
            case "databaseUser": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatabaseUser((java.lang.String) value); return true;
            case "datatypePropagateSourceType": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDatatypePropagateSourceType((java.lang.String) value); return true;
            case "decimalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setDecimalHandlingMode((java.lang.String) value); return true;
            case "errorsMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setErrorsMaxRetries((int) value); return true;
            case "eventProcessingFailureHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setEventProcessingFailureHandlingMode((java.lang.String) value); return true;
            case "executorShutdownTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExecutorShutdownTimeoutMs((long) value); return true;
            case "extendedHeadersEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setExtendedHeadersEnabled((boolean) value); return true;
            case "guardrailCollectionsLimitAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsLimitAction((java.lang.String) value); return true;
            case "guardrailCollectionsMax": getOrCreateConfiguration((DebeziumPostgresComponent) component).setGuardrailCollectionsMax((int) value); return true;
            case "heartbeatActionQuery": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatActionQuery((java.lang.String) value); return true;
            case "heartbeatIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatIntervalMs((int) value); return true;
            case "heartbeatTopicsPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHeartbeatTopicsPrefix((java.lang.String) value); return true;
            case "hstoreHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setHstoreHandlingMode((java.lang.String) value); return true;
            case "includeSchemaComments": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeSchemaComments((boolean) value); return true;
            case "includeUnknownDatatypes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncludeUnknownDatatypes((boolean) value); return true;
            case "incrementalSnapshotChunkSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotChunkSize((int) value); return true;
            case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIncrementalSnapshotWatermarkingStrategy((java.lang.String) value); return true;
            case "intervalHandlingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setIntervalHandlingMode((java.lang.String) value); return true;
            case "lsnFlushMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushMode((java.lang.String) value); return true;
            case "lsnFlushTimeoutAction": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutAction((java.lang.String) value); return true;
            case "lsnFlushTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setLsnFlushTimeoutMs((long) value); return true;
            case "maxBatchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxBatchSize((int) value); return true;
            case "maxQueueSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSize((int) value); return true;
            case "maxQueueSizeInBytes": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMaxQueueSizeInBytes((long) value); return true;
            case "messageKeyColumns": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessageKeyColumns((java.lang.String) value); return true;
            case "messagePrefixExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixExcludeList((java.lang.String) value); return true;
            case "messagePrefixIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setMessagePrefixIncludeList((java.lang.String) value); return true;
            case "notificationEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationEnabledChannels((java.lang.String) value); return true;
            case "notificationSinkTopicName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setNotificationSinkTopicName((java.lang.String) value); return true;
            case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationConfigFilePath((java.lang.String) value); return true;
            case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationDatasetKafkaBootstrapServers((java.lang.String) value); return true;
            case "openlineageIntegrationEnabled": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationEnabled((boolean) value); return true;
            case "openlineageIntegrationJobDescription": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobDescription((java.lang.String) value); return true;
            case "openlineageIntegrationJobNamespace": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobNamespace((java.lang.String) value); return true;
            case "openlineageIntegrationJobOwners": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobOwners((java.lang.String) value); return true;
            case "openlineageIntegrationJobTags": getOrCreateConfiguration((DebeziumPostgresComponent) component).setOpenlineageIntegrationJobTags((java.lang.String) value); return true;
            case "pluginName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPluginName((java.lang.String) value); return true;
            case "pollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPollIntervalMs((long) value); return true;
            case "postProcessors": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPostProcessors((java.lang.String) value); return true;
            case "provideTransactionMetadata": getOrCreateConfiguration((DebeziumPostgresComponent) component).setProvideTransactionMetadata((boolean) value); return true;
            case "publicationAutocreateMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationAutocreateMode((java.lang.String) value); return true;
            case "publicationName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublicationName((java.lang.String) value); return true;
            case "publishViaPartitionRoot": getOrCreateConfiguration((DebeziumPostgresComponent) component).setPublishViaPartitionRoot((boolean) value); return true;
            case "queryFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setQueryFetchSize((int) value); return true;
            case "replicaIdentityAutosetValues": getOrCreateConfiguration((DebeziumPostgresComponent) component).setReplicaIdentityAutosetValues((java.lang.String) value); return true;
            case "retriableRestartConnectorWaitMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setRetriableRestartConnectorWaitMs((long) value); return true;
            case "schemaExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaExcludeList((java.lang.String) value); return true;
            case "schemaHistoryInternalFileFilename": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaHistoryInternalFileFilename((java.lang.String) value); return true;
            case "schemaIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaIncludeList((java.lang.String) value); return true;
            case "schemaNameAdjustmentMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaNameAdjustmentMode((java.lang.String) value); return true;
            case "schemaRefreshMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSchemaRefreshMode((java.lang.String) value); return true;
            case "signalDataCollection": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalDataCollection((java.lang.String) value); return true;
            case "signalEnabledChannels": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalEnabledChannels((java.lang.String) value); return true;
            case "signalPollIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSignalPollIntervalMs((long) value); return true;
            case "skippedOperations": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSkippedOperations((java.lang.String) value); return true;
            case "slotDropOnStop": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotDropOnStop((boolean) value); return true;
            case "slotFailover": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotFailover((boolean) value); return true;
            case "slotMaxRetries": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotMaxRetries((int) value); return true;
            case "slotName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotName((java.lang.String) value); return true;
            case "slotRetryDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotRetryDelayMs((long) value); return true;
            case "slotStreamParams": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSlotStreamParams((java.lang.String) value); return true;
            case "snapshotDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotDelayMs((long) value); return true;
            case "snapshotFetchSize": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotFetchSize((int) value); return true;
            case "snapshotIncludeCollectionList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIncludeCollectionList((java.lang.String) value); return true;
            case "snapshotIsolationMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotIsolationMode((java.lang.String) value); return true;
            case "snapshotLockingMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingMode((java.lang.String) value); return true;
            case "snapshotLockingModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockingModeCustomName((java.lang.String) value); return true;
            case "snapshotLockTimeoutMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotLockTimeoutMs((long) value); return true;
            case "snapshotMaxThreads": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMaxThreads((int) value); return true;
            case "snapshotMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotMode((java.lang.String) value); return true;
            case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotData((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnDataError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotOnSchemaError((boolean) value); return true;
            case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedSnapshotSchema((boolean) value); return true;
            case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeConfigurationBasedStartStream((boolean) value); return true;
            case "snapshotModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotModeCustomName((java.lang.String) value); return true;
            case "snapshotQueryMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryMode((java.lang.String) value); return true;
            case "snapshotQueryModeCustomName": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotQueryModeCustomName((java.lang.String) value); return true;
            case "snapshotSelectStatementOverrides": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotSelectStatementOverrides((java.lang.String) value); return true;
            case "snapshotTablesOrderByRowCount": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSnapshotTablesOrderByRowCount((java.lang.String) value); return true;
            case "sourceinfoStructMaker": getOrCreateConfiguration((DebeziumPostgresComponent) component).setSourceinfoStructMaker((java.lang.String) value); return true;
            case "statusUpdateIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStatusUpdateIntervalMs((int) value); return true;
            case "streamingDelayMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setStreamingDelayMs((long) value); return true;
            case "tableExcludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableExcludeList((java.lang.String) value); return true;
            case "tableIgnoreBuiltin": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIgnoreBuiltin((boolean) value); return true;
            case "tableIncludeList": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTableIncludeList((java.lang.String) value); return true;
            case "timePrecisionMode": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTimePrecisionMode((java.lang.String) value); return true;
            case "tombstonesOnDelete": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTombstonesOnDelete((boolean) value); return true;
            case "topicNamingStrategy": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicNamingStrategy((java.lang.String) value); return true;
            case "topicPrefix": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTopicPrefix((java.lang.String) value); return true;
            case "transactionMetadataFactory": getOrCreateConfiguration((DebeziumPostgresComponent) component).setTransactionMetadataFactory((java.lang.String) value); return true;
            case "unavailableValuePlaceholder": getOrCreateConfiguration((DebeziumPostgresComponent) component).setUnavailableValuePlaceholder((java.lang.String) value); return true;
            case "xminFetchIntervalMs": getOrCreateConfiguration((DebeziumPostgresComponent) component).setXminFetchIntervalMs((long) value); return true;
            default: return false;
            }
        }
ID: 183_174
ClassID: 183
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.updateSObjectMultipart(String sObjectName, String id, Object sObjectDto, InputStream sObject, Map<String, List<String>> headers, ResponseCallback callback)
    public void updateSObjectMultipart(
            String sObjectName, String id, Object sObjectDto, InputStream sObject,
            Map<String, List<String>> headers, ResponseCallback callback) {
        try {
            final Request patch = getRequest("PATCH", sobjectsUrl(sObjectName + "/" + id), headers);
            setAccessToken(patch);

            try (MultiPartRequestContent multipartContent = new MultiPartRequestContent()) {
                ObjectMapper objectMapper = new ObjectMapper();
                JsonNode jsonNode = objectMapper.readTree(sObject);

                if (jsonNode.isObject()) {
                    ObjectNode objectNode = (ObjectNode) jsonNode;
                    ObjectNode cleanJson = objectNode.deepCopy();

                    Map<String, InputStream> binaryFields = getBinaryFieldMap(sObjectDto);

                    if (!binaryFields.isEmpty()) {

                         
                        for (String fieldName : binaryFields.keySet()) {
                            cleanJson.remove(fieldName);
                        }

                         
                        String cleanJsonString = objectMapper.writeValueAsString(cleanJson);
                        multipartContent.addPart(new MultiPart.ContentSourcePart(
                                "entity", null,
                                HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                                new InputStreamRequestContent(
                                        new ByteArrayInputStream(cleanJsonString.getBytes(StandardCharsets.UTF_8)))));

                         
                        for (Map.Entry<String, InputStream> entry : binaryFields.entrySet()) {
                            String fieldName = entry.getKey();
                            InputStream binaryData = entry.getValue();

                            multipartContent.addPart(new MultiPart.ContentSourcePart(
                                    fieldName, "temp-file-name.doc",
                                    HttpFields.build().add(HttpHeader.CONTENT_TYPE, "application/octet-stream"),
                                    new InputStreamRequestContent(binaryData)));
                        }
                    } else {
                         
                        callback.onResponse(null, Collections.emptyMap(),
                                new SalesforceException("updateSObjectMultipart called but no binary fields found", null));
                        return;
                    }
                } else {
                     
                    multipartContent.addPart(new MultiPart.ContentSourcePart(
                            "entity", null,
                            HttpFields.build().add(HttpHeader.CONTENT_TYPE, APPLICATION_JSON_UTF8),
                            new InputStreamRequestContent(sObject)));
                }

                patch.body(multipartContent);
            }

            doHttpRequest(patch, new DelegatingClientCallback(callback));
        } catch (Exception e) {
             
            callback.onResponse(null, Collections.emptyMap(),
                    new SalesforceException("Failed to process multipart update request: " + e.getMessage(), e));
        }
    }
Pair #3734 Negative (Non-Clone)
ID: 2581_2177
ClassID: 2581
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.loadJavaSource(String className)
    private String loadJavaSource(String className) {
        try {
            Path file = getSourceRoots().stream()
                    .map(d -> d.resolve(className.replace('.', '/') + ".java"))
                    .filter(Files::isRegularFile)
                    .findFirst()
                    .orElse(null);

            if (file == null) {
                throw new FileNotFoundException("Unable to find source for " + className);
            }
            return PackageHelper.loadText(file);
        } catch (IOException e) {
            String classpath;
            try {
                classpath = project.getCompileClasspathElements().toString();
            } catch (Exception e2) {
                classpath = e2.toString();
            }
            throw new RuntimeException(
                    "Unable to load source for class " + className + " in folders " + getSourceRoots()
                                       + " (classpath: " + classpath + ")");
        }
    }
ID: 2530_2104
ClassID: 2530
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/BasePackageScanDownloadListener.java
Name: org.apache.camel.main.download.BasePackageScanDownloadListener.basePackageScanSpring(String... basePackage)
    protected void basePackageScanSpring(String... basePackage) throws Exception {
         
        PackageScanClassResolver pscr = PluginHelper.getPackageScanClassResolver(camelContext);
        Set<Class<?>> found
                = pscr.findByFilter(c -> AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Component")
                        || AnnotationHelper.hasAnnotation(c, "org.springframework.stereotype.Service"), basePackage);
        for (Class<?> clazz : found) {
             
            String fqn = clazz.getName();
            if (scanned.contains(fqn)) {
                continue;
            } else {
                scanned.add(fqn);
            }

            LOG.debug("Discovered Spring @Component/@Service class: {}", clazz);

            String name = null;
            var ann = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Component");
            if (ann != null) {
                name = ann;
            } else {
                var ann2 = AnnotationHelper.getAnnotationValue(clazz, "org.springframework.stereotype.Service");
                if (ann2 != null) {
                    name = ann2;
                }
            }
            if (name == null || name.isBlank()) {
                name = clazz.getSimpleName();
                 
                name = StringHelper.decapitalize(name);
            }
             
            Supplier<Object> supplier = () -> camelContext.getInjector().newInstance(clazz, true);
            bindBean(camelContext, clazz, name, supplier, "Spring @Component/@Service");
        }
    }
Pair #3735 Negative (Non-Clone)
ID: 833_711
ClassID: 833
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Consumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        connectionOptions = getEndpoint().createMqttConnectionOptions();

        if (client == null) {
            clientId = getEndpoint().getConfiguration().getClientId();
            if (clientId == null) {
                clientId = PahoMqtt5Endpoint.generateClientId();
            }
            stopClient = true;
            client = new MqttClient(
                    getEndpoint().getConfiguration().getBrokerUrl(),
                    clientId,
                    PahoMqtt5Endpoint.createMqttClientPersistence(getEndpoint().getConfiguration()));
            LOG.debug("Connecting client: {} to broker: {}", clientId, getEndpoint().getConfiguration().getBrokerUrl());
            if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
                client.setManualAcks(true);

            }
            client.connect(connectionOptions);
        }

        client.setCallback(new MqttCallback() {

            @Override
            public void connectComplete(boolean reconnect, String serverURI) {
                if (reconnect) {
                    try {
                        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
                    } catch (MqttException e) {
                        LOG.error("MQTT resubscribe failed {}", e.getMessage(), e);
                    }
                }
            }

            @Override
            public void authPacketArrived(int reasonCode, MqttProperties properties) {
                LOG.debug("Auth packet arrived {} {}", reasonCode, properties);
            }

            @Override
            public void disconnected(MqttDisconnectResponse response) {
                LOG.debug("MQTT broker disconnected due {}", response.getReasonString(), response.getException());
            }

            @Override
            public void mqttErrorOccurred(MqttException exception) {
                LOG.debug("Error occurred {}", exception.getMessage(), exception);
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                LOG.debug("Message arrived on topic: {} -> {}", topic, message);
                Exchange exchange = createExchange(message, topic);

                 
                AsyncCallback cb = defaultConsumerCallback(exchange, true);
                getAsyncProcessor().process(exchange, cb);
            }

            @Override
            public void deliveryComplete(IMqttToken token) {
                LOG.debug("Delivery complete. Token: {}", token);
            }
        });

        LOG.debug("Subscribing client: {} to topic: {}", clientId, getEndpoint().getTopic());
        client.subscribe(getEndpoint().getTopic(), getEndpoint().getConfiguration().getQos());
    }
ID: 1035_888
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addExactPath(final String path, final HttpHandler handler)
    public PathHandler addExactPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addExactPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #3736 Negative (Non-Clone)
ID: 2436_1909
ClassID: 2436
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/XmlHelper.java
Name: org.apache.camel.main.util.XmlHelper.createDocumentBuilderFactory()
    public static DocumentBuilderFactory createDocumentBuilderFactory() {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        factory.setIgnoringElementContentWhitespace(true);
        factory.setIgnoringComments(true);
        try {
             
            factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
        } catch (ParserConfigurationException e) {
        }
        try {
             
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        } catch (ParserConfigurationException e) {
        }
         
        try {
            Class<?> smClass = ObjectHelper.loadClass("org.apache.xerces.util.SecurityManager");
            if (smClass != null) {
                Object sm = smClass.getDeclaredConstructor().newInstance();
                 
                factory.setAttribute("http://apache.org/xml/properties/security-manager", sm);
            }
        } catch (Exception e) {
        }
        return factory;
    }
ID: 1126_961
ClassID: 1126
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations)
    private void updateVideoSource(Exchange exchange, ClientConfigurations clientConfigurations) {
        String videoBase64 = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_BASE64, String.class);
        clientConfigurations.setVideoBase64(StringUtils.isEmpty(videoBase64) ? this.endpoint.getVideoBase64() : videoBase64);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoBase64())) {
            clientConfigurations.setInputSourceType(InputSourceType.BASE64);
            return;
        }
        String videoUrl = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_URL, String.class);
        clientConfigurations.setVideoUrl(StringUtils.isEmpty(videoUrl) ? this.endpoint.getVideoUrl() : videoUrl);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoUrl())) {
            clientConfigurations.setInputSourceType(InputSourceType.URL);
            return;
        }
        String videoFilePath = exchange.getProperty(FaceRecognitionProperties.FACE_VIDEO_FILE_PATH, String.class);
        clientConfigurations
                .setVideoFilePath(StringUtils.isEmpty(videoFilePath) ? this.endpoint.getVideoFilePath() : videoFilePath);
        if (!StringUtils.isEmpty(clientConfigurations.getVideoFilePath())) {
            clientConfigurations.setInputSourceType(InputSourceType.FILE_PATH);
            return;
        }
        throw new IllegalArgumentException("any one of video base64, url and filePath needs to be set");
    }
Pair #3737 Negative (Non-Clone)
ID: 1186_1010
ClassID: 1186
File: systems/camel-java/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipIterator.java
Name: org.apache.camel.dataformat.zipfile.ZipIterator.ZipIterator(Exchange exchange, InputStream inputStream)
    public ZipIterator(Exchange exchange, InputStream inputStream) {
        this.exchange = exchange;
        this.allowEmptyDirectory = false;

        Objects.requireNonNull(inputStream);

        if (inputStream instanceof ZipArchiveInputStream) {
            zipInputStream = (ZipArchiveInputStream) inputStream;
        } else {
            try {
                ArchiveInputStream input = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP,
                        new BufferedInputStream(inputStream));
                zipInputStream = (ZipArchiveInputStream) input;
            } catch (ArchiveException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }
        parent = null;
        first = true;
    }
ID: 3202_2463
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addRoutesBuilder(Class<?>... routeBuilder)
    public void addRoutesBuilder(Class<?>... routeBuilder) {
        StringJoiner existing = new StringJoiner(",");
        if (routesBuilderClasses != null && !routesBuilderClasses.isEmpty()) {
            existing.add(routesBuilderClasses);
        }
        if (routeBuilder != null) {
            for (Class<?> clazz : routeBuilder) {
                existing.add(clazz.getName());
            }
        }
        setRoutesBuilderClasses(existing.toString());
    }
Pair #3738 Negative (Non-Clone)
ID: 982_841
ClassID: 982
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameterSrc()
  final public Token InParameterSrc() throws ParseException {Token ret = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SIMPLE_EXP_TOKEN:{
      ret = jj_consume_token(SIMPLE_EXP_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    case PARAMETER_POS_TOKEN:{
      ret = jj_consume_token(PARAMETER_POS_TOKEN);
{if ("" != null) return ret;}
      break;
      }
    default:
      jj_la1[11] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
}
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #3739 Negative (Non-Clone)
ID: 1429_1285
ClassID: 1429
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/entity/EntityParser.java
Name: org.apache.camel.component.as2.api.entity.EntityParser.isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary)
    public static boolean isBoundaryDelimiter(final CharArrayBuffer buffer, ParserCursor cursor, String boundary) {
        ObjectHelper.notNull(buffer, "Buffer");
        ObjectHelper.notNull(boundary, "Boundary");

        String boundaryDelimiter = "--" + boundary;  
         

        if (cursor == null) {
            cursor = new ParserCursor(0, boundaryDelimiter.length());
        }

        int indexFrom = cursor.getPos();
        int indexTo = cursor.getUpperBound();

        if ((indexFrom + boundaryDelimiter.length()) > indexTo) {
            return false;
        }

        for (int i = indexFrom; i < indexTo; ++i) {
            if (buffer.charAt(i) != boundaryDelimiter.charAt(i)) {
                return false;
            }
        }

        return true;
    }
ID: 1689_1409
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRestContextFactoryBean) {
                CamelRestContextFactoryBean factoryBean = (CamelRestContextFactoryBean) value;
                builder.addPropertyValue("rests", factoryBean.getRests());
            }

             
            injectNamespaces(element, binder);
        }
Pair #3740 Negative (Non-Clone)
ID: 18_18
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCatalogProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCatalogProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCatalogProducer target = (org.apache.camel.component.consul.endpoint.ConsulCatalogProducer) obj;
        switch (key) {
        case "deregister":
        case "DEREGISTER": target.deregister(exchange.getMessage()); return null;
        case "get_node":
        case "GET_NODE": target.getNode(exchange.getMessage()); return null;
        case "get_service":
        case "GET_SERVICE": target.getService(exchange.getMessage()); return null;
        case "list_datacenters":
        case "LIST_DATACENTERS": target.listDatacenters(exchange.getMessage()); return null;
        case "list_nodes":
        case "LIST_NODES": target.listNodes(exchange.getMessage()); return null;
        case "list_services":
        case "LIST_SERVICES": target.listServices(exchange.getMessage()); return null;
        case "register":
        case "REGISTER": target.register(exchange.getMessage()); return null;
        default: return null;
        }
    }
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #3741 Negative (Non-Clone)
ID: 2337_1836
ClassID: 2337
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Consumer.java
Name: org.apache.camel.component.aws2.s3.AWS2S3Consumer.onComplete(Exchange exchange)
                public void onComplete(Exchange exchange) {
                    final String key = exchange.getProperty(AWS2S3Constants.KEY, String.class);
                    try {
                        processCommit(exchange);
                    } finally {
                        if (key != null) {
                            getEndpoint().getInProgressRepository().remove(key);
                        }
                    }
                }
ID: 2044_1654
ClassID: 2044
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
         
         
        File path = file.getFile();
        if (!path.exists()) {
            return false;
        }

         
        String key = asKey(exchange, file);
        boolean answer = false;
        try {
            answer = idempotentRepository.add(exchange, key);
        } catch (Exception e) {
            if (LOG.isTraceEnabled()) {
                LOG.trace("Cannot acquire read lock due to {}. Will skip the file: {}", e.getMessage(), file, e);
            }
        }
        if (!answer) {
             
            CamelLogger.log(LOG, readLockLoggingLevel, "Cannot acquire read lock. Will skip the file: " + file);
        }
        return answer;
    }
Pair #3742 Negative (Non-Clone)
ID: 2493_2043
ClassID: 2493
File: systems/camel-java/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitContext.java
Name: org.apache.camel.dsl.jbang.core.commands.kubernetes.traits.TraitContext.getCatalog(boolean download)
    public CamelCatalog getCatalog(boolean download) {
        if (catalog == null) {
            try {
                catalog = CatalogHelper.loadCatalog(RuntimeType.quarkus, RuntimeType.QUARKUS_VERSION, download);
            } catch (Exception e) {
                throw new RuntimeCamelException("Failed to create default Quarkus Camel catalog", e);
            }
        }

        return catalog;
    }
ID: 53_70
ClassID: 53
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            final DefaultExchangeHolder misbehaviorHolder = cache.putIfAbsent(key, holder);
            if (misbehaviorHolder != null) {
                Exchange misbehaviorEx = unmarshallExchange(camelContext, misbehaviorHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key, misbehaviorEx != null ? misbehaviorEx.getExchangeId() : "<null>");
                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #3743 Negative (Non-Clone)
ID: 903_779
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case LIST:
                apiProxy = getClient().calendarList();
                break;
            case ACL:
                apiProxy = getClient().acl();
                break;
            case CALENDARS:
                apiProxy = getClient().calendars();
                break;
            case CHANNELS:
                apiProxy = getClient().channels();
                break;
            case COLORS:
                apiProxy = getClient().colors();
                break;
            case EVENTS:
                apiProxy = getClient().events();
                break;
            case FREEBUSY:
                apiProxy = getClient().freebusy();
                break;
            case SETTINGS:
                apiProxy = getClient().settings();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
ID: 197_227
ClassID: 197
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AnalyticsApiProcessor.processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback)
    private void processExecuteSyncReport(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {

        String reportId;
        final Boolean includeDetails = getParameter(INCLUDE_DETAILS, exchange, IGNORE_BODY, IS_OPTIONAL, Boolean.class);

         
        ReportMetadata reportMetadata = exchange.getIn().getBody(ReportMetadata.class);
        if (reportMetadata != null) {
            reportId = reportMetadata.getId();
            if (reportId == null) {
                reportId = getParameter(REPORT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            }
        } else {
            reportId = getParameter(REPORT_ID, exchange, USE_BODY, NOT_OPTIONAL);
            reportMetadata = getParameter(REPORT_METADATA, exchange, IGNORE_BODY, IS_OPTIONAL, ReportMetadata.class);
        }

        analyticsClient.executeSyncReport(reportId, includeDetails, reportMetadata, determineHeaders(exchange),
                new AnalyticsApiClient.ReportResultsResponseCallback() {
                    @Override
                    public void onResponse(
                            AbstractReportResultsBase reportResults, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, reportResults, headers, ex, callback);
                    }
                });
    }
Pair #3744 Negative (Non-Clone)
ID: 657_582
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
Name: org.apache.camel.component.openstack.neutron.NeutronEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case NeutronConstants.NEUTRON_NETWORK_SUBSYSTEM:
                return new NetworkProducer(this, createClient());
            case NeutronConstants.NEUTRON_SUBNETS_SYSTEM:
                return new SubnetProducer(this, createClient());
            case NeutronConstants.NEUTRON_PORT_SYSTEM:
                return new PortProducer(this, createClient());
            case NeutronConstants.NEUTRON_ROUTER_SYSTEM:
                return new RouterProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
ID: 2555_2124
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestVerbDetails detail)
    private static void extractAttributes(Node xmlNode, RestVerbDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setPath(extractAttribute(map, "path"));
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setType(extractAttribute(map, "type"));
        detail.setOutType(extractAttribute(map, "outType"));
    }
Pair #3745 Negative (Non-Clone)
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 3181_2461
ClassID: 3181
File: systems/camel-java/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
Name: org.apache.camel.impl.DefaultDumpRoutesStrategy.doDumpRoutesAsXml(CamelContext camelContext)
    protected void doDumpRoutesAsXml(CamelContext camelContext) {
        final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
        final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
        final DummyResource dummy = new DummyResource(null, null);
        final Set<String> files = new HashSet<>();

        if (include.contains("*") || include.contains("all") || include.contains("beans")) {
            int size = model.getCustomBeans().size();
            if (size > 0) {
                Map<Resource, List<BeanFactoryDefinition>> groups = new LinkedHashMap<>();
                for (BeanFactoryDefinition bean : model.getCustomBeans()) {
                    Resource res = bean.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    List<BeanFactoryDefinition> beans = groups.computeIfAbsent(res, resource -> new ArrayList<>());
                    beans.add(bean);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, List<BeanFactoryDefinition>> entry : groups.entrySet()) {
                    List<BeanFactoryDefinition> beans = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlBeans(camelContext, beans, resource == dummy ? null : resource, dumper, "beans", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "beans", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} beans as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("dataFormats")) {
            int size = model.getDataFormats().size();
            if (size > 0) {
                Map<Resource, Map<String, DataFormatDefinition>> groups = new LinkedHashMap<>();
                for (Map.Entry<String, DataFormatDefinition> entry : model.getDataFormats().entrySet()) {
                    Resource res = entry.getValue().getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    Map<String, DataFormatDefinition> dfs = groups.computeIfAbsent(res, resource -> new LinkedHashMap<>());
                    dfs.put(entry.getKey(), entry.getValue());
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, Map<String, DataFormatDefinition>> entry : groups.entrySet()) {
                    Map<String, DataFormatDefinition> dfs = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXmlDataFormats(camelContext, dfs, resource == dummy ? null : resource, dumper, "dataFormats", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "dataFormats", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} data formats as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("rests")) {
            int size = model.getRestDefinitions().size();
            if (size > 0) {
                Map<Resource, RestsDefinition> groups = new LinkedHashMap<>();
                for (RestDefinition rest : model.getRestDefinitions()) {
                    Resource res = rest.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RestsDefinition routes = groups.computeIfAbsent(res, resource -> new RestsDefinition());
                    routes.getRests().add(rest);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RestsDefinition> entry : groups.entrySet()) {
                    RestsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "rest", "rests", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "rests", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} rests as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeConfigurations")
                || include.contains("route-configurations")) {
            int size = model.getRouteConfigurationDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteConfigurationsDefinition> groups = new LinkedHashMap<>();
                for (RouteConfigurationDefinition config : model.getRouteConfigurationDefinitions()) {
                    Resource res = config.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteConfigurationsDefinition routes
                            = groups.computeIfAbsent(res, resource -> new RouteConfigurationsDefinition());
                    routes.getRouteConfigurations().add(config);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteConfigurationsDefinition> entry : groups.entrySet()) {
                    RouteConfigurationsDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeConfiguration",
                            "route-configurations",
                            sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-configurations", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-configurations as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routeTemplates")
                || include.contains("route-templates")) {
            int size = model.getRouteTemplateDefinitions().size();
            if (size > 0) {
                Map<Resource, RouteTemplatesDefinition> groups = new LinkedHashMap<>();
                for (RouteTemplateDefinition rt : model.getRouteTemplateDefinitions()) {
                    Resource res = rt.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RouteTemplatesDefinition routes = groups.computeIfAbsent(res, resource -> new RouteTemplatesDefinition());
                    routes.getRouteTemplates().add(rt);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RouteTemplatesDefinition> entry : groups.entrySet()) {
                    RouteTemplatesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "routeTemplate",
                            "route-templates", sbLocal, sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "route-templates", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} route-templates as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (include.contains("*") || include.contains("all") || include.contains("routes")) {
            int size = model.getRouteDefinitions().size();
            if (size > 0) {
                Map<Resource, RoutesDefinition> groups = new LinkedHashMap<>();
                for (RouteDefinition route : model.getRouteDefinitions()) {
                    if ((route.isRest() != null && route.isRest()) || (route.isTemplate() != null && route.isTemplate())) {
                         
                        continue;
                    }
                    Resource res = route.getResource();
                    if (res == null) {
                        res = dummy;
                    }
                    RoutesDefinition routes = groups.computeIfAbsent(res, resource -> new RoutesDefinition());
                    routes.getRoutes().add(route);
                }
                StringBuilder sbLog = new StringBuilder();
                for (Map.Entry<Resource, RoutesDefinition> entry : groups.entrySet()) {
                    RoutesDefinition def = entry.getValue();
                    Resource resource = entry.getKey();

                    StringBuilder sbLocal = new StringBuilder();
                    doDumpXml(camelContext, def, resource == dummy ? null : resource, dumper, "route", "routes", sbLocal,
                            sbLog);
                     
                    doDumpToDirectory(resource, sbLocal, "routes", "xml", files);
                }
                if (!sbLog.isEmpty() && log) {
                    LOG.info("Dumping {} routes as XML", size);
                    LOG.info("{}", sbLog);
                }
            }
        }

        if (output != null && !files.isEmpty()) {
             
            doAdjustXmlFiles(files);
        }
    }
Pair #3746 Negative (Non-Clone)
ID: 3176_2449
ClassID: 3176
File: systems/camel-java/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
Name: org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext()
    public JAXBContext newJAXBContext() throws JAXBException {
        if (context == null) {
            lock.lock();
            try {
                if (context == null) {
                    context = JAXBContext.newInstance(getPackages(), getClassLoader());
                }
            } finally {
                lock.unlock();
            }
        }
        return context;
    }
ID: 107_99
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollEvents()
    private Queue<Exchange> pollEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming events");
        }

         
         
         
        List<String> eventTypes = parseCommaSeparatedList(config.getTypes());
        List<EventRepresentation> events = keycloakClient.realm(realm).getEvents(
                eventTypes,  
                config.getClient(),  
                config.getUser(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getIpAddress(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (EventRepresentation event : events) {
            long eventTime = event.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getEventFingerprint(event);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(event);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, event.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last event time to: {}", lastEventTime);
        }

        return queue;
    }
Pair #3747 Negative (Non-Clone)
ID: 1549_1370
ClassID: 1549
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceRegistry.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceRegistry.register(ServiceDefinition definition)
    public void register(ServiceDefinition definition) {
        if (definition.getId() == null) {
            throw new IllegalArgumentException("Service ID must be defined (definition=" + definition + ")");
        }
        if (definition.getName() == null) {
            throw new IllegalArgumentException("Service Name must be defined (definition=" + definition + ")");
        }

        try {
            ServiceInstance<MetaData> instance = ServiceInstance.<MetaData> builder()
                    .address(computeServiceHost(definition))
                    .port(definition.getPort())
                    .name(definition.getName())
                    .id(definition.getId())
                    .payload(new MetaData(definition.getMetadata()))
                    .build();

            serviceDiscovery.registerService(instance);

             
            serviceList.add(definition.getId());
        } catch (Exception e) {
            LOGGER.warn("{}", e.getMessage(), e);
        }
    }
ID: 658_584
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/producer/RouterProducer.java
Name: org.apache.camel.component.openstack.neutron.producer.RouterProducer.messageToRouter(Message message)
    private Router messageToRouter(Message message) {
        Router router = message.getBody(Router.class);

        if (router == null) {
            Map headers = message.getHeaders();
            RouterBuilder builder = Builders.router();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NeutronConstants.TENANT_ID)) {
                builder.tenantId(message.getHeader(NeutronConstants.TENANT_ID, String.class));
            }

            router = builder.build();
        }
        return router;
    }
Pair #3748 Negative (Non-Clone)
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 2555_2123
ClassID: 2555
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelXmlRestDslParserHelper.java
Name: org.apache.camel.parser.helper.CamelXmlRestDslParserHelper.extractAttributes(Node xmlNode, RestServiceDetails detail)
    private static void extractAttributes(Node xmlNode, RestServiceDetails detail) {
        NamedNodeMap map = xmlNode.getAttributes();
        detail.setConsumes(extractAttribute(map, "consumes"));
        detail.setProduces(extractAttribute(map, "produces"));
        detail.setApiDocs(extractAttribute(map, "apiDocs"));
        detail.setBindingMode(extractAttribute(map, "bindingMode"));
        detail.setClientRequestValidation(extractAttribute(map, "clientRequestValidation"));
        detail.setClientResponseValidation(extractAttribute(map, "clientResponseValidation"));
        detail.setEnableCORS(extractAttribute(map, "enableCORS"));
        detail.setPath(extractAttribute(map, "path"));
        detail.setSkipBindingOnErrorCode(extractAttribute(map, "skipBindingOnErrorCode"));
        detail.setTag(extractAttribute(map, "tag"));
    }
Pair #3749 Negative (Non-Clone)
ID: 2573_2158
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
Name: org.apache.camel.maven.packaging.PackageLanguageMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
ID: 1247_1078
ClassID: 1247
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.evaluate(CamelContext context, Object body, Class<T> type)
    public <T> T evaluate(CamelContext context, Object body, Class<T> type) {
        ObjectHelper.notNull(context, "CamelContext");

         
        Exchange dummy = new DefaultExchange(context);
        dummy.getIn().setBody(body);

        try {
            return evaluate(dummy, type);
        } finally {
             
            exchange.remove();
        }
    }
Pair #3750 Negative (Non-Clone)
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 2568_2148
ClassID: 2568
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.processAttribute(Class<?> originalClassType, Class<?> classElement, Field fieldElement, String fieldName, XmlAttribute attribute, Set<EipOptionModel> eipOptions, String prefix)
    private boolean processAttribute(
            Class<?> originalClassType, Class<?> classElement,
            Field fieldElement, String fieldName,
            XmlAttribute attribute, Set<EipOptionModel> eipOptions,
            String prefix) {
        String name = attribute.name();
        if (Strings.isNullOrEmpty(name) || "##default".equals(name)) {
            name = fieldName;
        }

        Metadata metadata = fieldElement.getAnnotation(Metadata.class);

        name = prefix + name;
        Class<?> fieldTypeElement = fieldElement.getType();
        String fieldTypeName = getTypeName(GenericsUtil.resolveType(originalClassType, fieldElement));
        boolean isDuration = false;
        if (metadata != null && !Strings.isNullOrEmpty(metadata.javaType())) {
            String jt = metadata.javaType();
            if ("java.time.Duration".equals(jt)) {
                isDuration = true;
            } else {
                fieldTypeName = jt;
            }
        }

        String defaultValue = findDefaultValue(fieldElement, fieldTypeName);
        String docComment = findJavaDoc(fieldElement, fieldName, name, classElement, true);
        boolean required = attribute.required();
         
        required = findRequired(fieldElement, required);

         
        Set<String> enums;
        boolean isEnum;
        if (metadata != null && !Strings.isNullOrEmpty(metadata.enums())) {
             
            enums = new LinkedHashSet<>();
            isEnum = true;
            String[] values = metadata.enums().split(",");
            for (String val : values) {
                enums.add(val.trim());
            }
        } else {
            enums = new TreeSet<>();  
            isEnum = fieldTypeElement.isEnum();
            if (isEnum) {
                for (Object val : fieldTypeElement.getEnumConstants()) {
                    String str = val.toString();
                    enums.add(str);
                }
            }
        }

        boolean important = false;
        String displayName = null;
        if (metadata != null) {
            displayName = metadata.displayName();
            important = metadata.important();
        }
        boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
        String deprecationNote = null;
        if (metadata != null) {
            deprecationNote = metadata.deprecationNote();
        }
        String label = null;
        if (metadata != null) {
            label = metadata.label();
        }

        EipOptionModel ep = createOption(name, displayName, "attribute", fieldTypeName,
                required, defaultValue, label, docComment, deprecated, deprecationNote, isEnum, enums,
                null, false, isDuration, important);
        eipOptions.add(ep);

        return false;
    }
Pair #3751 Negative (Non-Clone)
ID: 248_320
ClassID: 248
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/client/EventHubsClientFactory.java
Name: org.apache.camel.component.azure.eventhubs.client.EventHubsClientFactory.createEventHubProducerAsyncClient(final EventHubsConfiguration configuration)
    public static EventHubProducerAsyncClient createEventHubProducerAsyncClient(final EventHubsConfiguration configuration) {
        EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder()
                .transportType(configuration.getAmqpTransportType())
                .retryOptions(configuration.getAmqpRetryOptions());

        CredentialType type = configuration.getCredentialType();
        if (type == null) {
            type = CredentialType.CONNECTION_STRING;
        }
        if (CredentialType.CONNECTION_STRING.equals(type)) {
            return eventHubClientBuilder
                    .connectionString(buildConnectionString(configuration))
                    .buildAsyncProducerClient();
        } else if (CredentialType.TOKEN_CREDENTIAL.equals(type)) {

            checkTokenCredentialConfiguration(configuration);
            return eventHubClientBuilder
                    .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                    .eventHubName(configuration.getEventHubName())
                    .credential(configuration.getTokenCredential())
                    .buildAsyncProducerClient();
        }
        return eventHubClientBuilder
                .fullyQualifiedNamespace(getFullyQualifiedNamespace(configuration))
                .eventHubName(configuration.getEventHubName())
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncProducerClient();
    }
ID: 555_532
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Server server, Bus bus)
    public void initialize(Server server, Bus bus) {
        server.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        server.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        if (server.getEndpoint().getBinding() instanceof SoapBinding) {
            server.getEndpoint().getBinding().getOutInterceptors().add(new SetSoapVersionInterceptor());
        }
         
         
        removeInterceptor(server.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(server.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
        removeInterceptor(server.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        resetPartTypes(server.getEndpoint().getBinding());

        LOG.info("Initialized CXF Server: {} in Payload mode with allow streaming: {}", server, allowStreaming);
    }
Pair #3752 Negative (Non-Clone)
ID: 2401_1894
ClassID: 2401
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicy.java
Name: org.apache.camel.component.hazelcast.policy.HazelcastRoutePolicy.stopConsumer(Route route)
    private void stopConsumer(Route route) {
        lock.lock();
        try {
            if (!suspendedRoutes.contains(route)) {
                LOGGER.debug("Stopping consumer for {} ({})", route.getId(), route.getConsumer());
                stopConsumer(route.getConsumer());
                suspendedRoutes.add(route);
            }
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 1309_1175
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsConsumer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsConsumer.eventReceived(Action action, Deployment resource)
                public void eventReceived(Action action, Deployment resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3753 Negative (Non-Clone)
ID: 229_272
ClassID: 229
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/strategy/FilesChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.azure.strategy.FilesChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<ShareFileItem> operations, GenericFile<ShareFileItem> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        FilesExclusiveReadLockCheck exclusiveReadLockCheck
                = new FilesExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3754 Negative (Non-Clone)
ID: 909_785
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.getFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void getFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CloudFunction response = null;
        if (getConfiguration().isPojoRequest()) {
            CloudFunctionName request = exchange.getIn().getMandatoryBody(CloudFunctionName.class);
            response = client.getFunction(request);
        } else {
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            response = client.getFunction(cfName);
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(response);
    }
ID: 1618_1391
ClassID: 1618
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQProducer.testConnectionOnStartup()
    protected void testConnectionOnStartup() throws FailedToCreateProducerException {
        Connection conn = null;
        try {
            RabbitTemplate template = getInOnlyTemplate();

            if (LOG.isDebugEnabled()) {
                LOG.debug("Testing RabbitMQ Connection on startup for: {}", getEndpoint().getConnectionFactory().getHost());
            }
            conn = template.getConnectionFactory().createConnection();

            LOG.debug("Successfully tested RabbitMQ Connection on startup for: {}",
                    getEndpoint().getConnectionFactory().getHost());
        } catch (Exception e) {
            throw new FailedToCreateProducerException(getEndpoint(), e);
        } finally {
            RabbitUtils.closeConnection(conn);
        }
    }
Pair #3755 Negative (Non-Clone)
ID: 401_435
ClassID: 401
File: systems/camel-java/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/LZFDataFormat.java
Name: org.apache.camel.dataformat.lzf.LZFDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InputStream compressedInput = null;

        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
        try {
            compressedInput = new LZFInputStream(inputStream);
            IOHelper.copy(compressedInput, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, compressedInput, inputStream);
        }
    }
ID: 305_369
ClassID: 305
File: systems/camel-java/components/camel-aws/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
Name: org.apache.camel.component.aws.xray.decorators.http.RestSegmentDecorator.getParameters(String path)
    protected static List<String> getParameters(String path) {
        if (path == null) {
            LOG.warn("The provided path is null and has no parameters to be evaluated");
            return Collections.emptyList();
        }

        List<String> parameters = null;

        int startIndex = path.indexOf('{');
        while (startIndex != -1) {
            int endIndex = path.indexOf('}', startIndex);
            if (endIndex != -1) {
                if (parameters == null) {
                    parameters = new ArrayList<>();
                }
                parameters.add(path.substring(startIndex + 1, endIndex));
                startIndex = path.indexOf('{', endIndex);
            } else {
                 
                startIndex = -1;
            }
        }

        return parameters == null ? Collections.emptyList() : parameters;
    }
Pair #3756 Negative (Non-Clone)
ID: 1546_1363
ClassID: 1546
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cluster/ZooKeeperClusterView.java
Name: org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.getMembers()
    public List<CamelClusterMember> getMembers() {
        if (leaderSelector == null) {
            return Collections.emptyList();
        }

        try {
            return leaderSelector.getParticipants()
                    .stream()
                    .map(CuratorClusterMember::new)
                    .collect(Collectors.toList());
        } catch (KeeperException.NoNodeException e) {
            LOGGER.debug("Failed to get members because node '{}' does not yet exist (error: '{}')",
                    getFullPath(),
                    e.getMessage());
            return Collections.emptyList();
        } catch (Exception e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 401_433
ClassID: 401
File: systems/camel-java/components/camel-zip-deflater/src/main/java/org/apache/camel/dataformat/deflater/ZipDeflaterDataFormat.java
Name: org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat.unmarshal(final Exchange exchange, final InputStream inputStream)
    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
        InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream);
        OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);

        try {
            IOHelper.copy(inflaterInputStream, osb);
            return osb.build();
        } finally {
             
            IOHelper.close(osb, inflaterInputStream, inputStream);
        }
    }
Pair #3757 Negative (Non-Clone)
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
ID: 2523_2090
ClassID: 2523
File: systems/camel-java/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/HttpsComponentBuilderFactory.java
Name: org.apache.camel.builder.component.dsl.HttpsComponentBuilderFactory.setPropertyOnComponent(Component component, String name, Object value)
        protected boolean setPropertyOnComponent(
                Component component,
                String name,
                Object value) {
            switch (name) {
            case "lazyStartProducer": ((HttpComponent) component).setLazyStartProducer((boolean) value); return true;
            case "logHttpActivity": ((HttpComponent) component).setLogHttpActivity((boolean) value); return true;
            case "skipControlHeaders": ((HttpComponent) component).setSkipControlHeaders((boolean) value); return true;
            case "skipRequestHeaders": ((HttpComponent) component).setSkipRequestHeaders((boolean) value); return true;
            case "skipResponseHeaders": ((HttpComponent) component).setSkipResponseHeaders((boolean) value); return true;
            case "contentTypeCharsetEnabled": ((HttpComponent) component).setContentTypeCharsetEnabled((boolean) value); return true;
            case "cookieStore": ((HttpComponent) component).setCookieStore((org.apache.hc.client5.http.cookie.CookieStore) value); return true;
            case "copyHeaders": ((HttpComponent) component).setCopyHeaders((boolean) value); return true;
            case "followRedirects": ((HttpComponent) component).setFollowRedirects((boolean) value); return true;
            case "httpActivityListener": ((HttpComponent) component).setHttpActivityListener((org.apache.camel.component.http.HttpActivityListener) value); return true;
            case "responsePayloadStreamingThreshold": ((HttpComponent) component).setResponsePayloadStreamingThreshold((int) value); return true;
            case "userAgent": ((HttpComponent) component).setUserAgent((java.lang.String) value); return true;
            case "allowJavaSerializedObject": ((HttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
            case "authCachingDisabled": ((HttpComponent) component).setAuthCachingDisabled((boolean) value); return true;
            case "automaticRetriesDisabled": ((HttpComponent) component).setAutomaticRetriesDisabled((boolean) value); return true;
            case "autowiredEnabled": ((HttpComponent) component).setAutowiredEnabled((boolean) value); return true;
            case "clientConnectionManager": ((HttpComponent) component).setClientConnectionManager((org.apache.hc.client5.http.io.HttpClientConnectionManager) value); return true;
            case "connectionsPerRoute": ((HttpComponent) component).setConnectionsPerRoute((int) value); return true;
            case "connectionStateDisabled": ((HttpComponent) component).setConnectionStateDisabled((boolean) value); return true;
            case "connectionTimeToLive": ((HttpComponent) component).setConnectionTimeToLive((long) value); return true;
            case "contentCompressionDisabled": ((HttpComponent) component).setContentCompressionDisabled((boolean) value); return true;
            case "cookieManagementDisabled": ((HttpComponent) component).setCookieManagementDisabled((boolean) value); return true;
            case "defaultUserAgentDisabled": ((HttpComponent) component).setDefaultUserAgentDisabled((boolean) value); return true;
            case "httpBinding": ((HttpComponent) component).setHttpBinding((org.apache.camel.http.common.HttpBinding) value); return true;
            case "httpClientConfigurer": ((HttpComponent) component).setHttpClientConfigurer((org.apache.camel.component.http.HttpClientConfigurer) value); return true;
            case "httpConfiguration": ((HttpComponent) component).setHttpConfiguration((org.apache.camel.http.common.HttpConfiguration) value); return true;
            case "httpContext": ((HttpComponent) component).setHttpContext((org.apache.hc.core5.http.protocol.HttpContext) value); return true;
            case "maxTotalConnections": ((HttpComponent) component).setMaxTotalConnections((int) value); return true;
            case "redirectHandlingDisabled": ((HttpComponent) component).setRedirectHandlingDisabled((boolean) value); return true;
            case "useSystemProperties": ((HttpComponent) component).setUseSystemProperties((boolean) value); return true;
            case "headerFilterStrategy": ((HttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
            case "nonProxyHosts": ((HttpComponent) component).setNonProxyHosts((java.lang.String) value); return true;
            case "proxyAuthDomain": ((HttpComponent) component).setProxyAuthDomain((java.lang.String) value); return true;
            case "proxyAuthHost": ((HttpComponent) component).setProxyAuthHost((java.lang.String) value); return true;
            case "proxyAuthMethod": ((HttpComponent) component).setProxyAuthMethod((java.lang.String) value); return true;
            case "proxyAuthNtHost": ((HttpComponent) component).setProxyAuthNtHost((java.lang.String) value); return true;
            case "proxyAuthPassword": ((HttpComponent) component).setProxyAuthPassword((java.lang.String) value); return true;
            case "proxyAuthPort": ((HttpComponent) component).setProxyAuthPort((java.lang.Integer) value); return true;
            case "proxyAuthScheme": ((HttpComponent) component).setProxyAuthScheme((java.lang.String) value); return true;
            case "proxyAuthUsername": ((HttpComponent) component).setProxyAuthUsername((java.lang.String) value); return true;
            case "proxyHost": ((HttpComponent) component).setProxyHost((java.lang.String) value); return true;
            case "proxyPort": ((HttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
            case "sslContextParameters": ((HttpComponent) component).setSslContextParameters((org.apache.camel.support.jsse.SSLContextParameters) value); return true;
            case "useGlobalSslContextParameters": ((HttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
            case "x509HostnameVerifier": ((HttpComponent) component).setX509HostnameVerifier((javax.net.ssl.HostnameVerifier) value); return true;
            case "connectionRequestTimeout": ((HttpComponent) component).setConnectionRequestTimeout((long) value); return true;
            case "connectTimeout": ((HttpComponent) component).setConnectTimeout((long) value); return true;
            case "responseTimeout": ((HttpComponent) component).setResponseTimeout((long) value); return true;
            case "soTimeout": ((HttpComponent) component).setSoTimeout((long) value); return true;
            default: return false;
            }
        }
Pair #3758 Negative (Non-Clone)
ID: 981_837
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.InParameter()
  final public InParameter InParameter() throws ParseException {Token sqlTypeToken;
     String name = null;
     Token valueSrcToken;
     Integer scale = null;
     String typeName = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      name = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[3] = jj_gen;
      ;
    }
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[4] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[5] = jj_gen;
      ;
    }
    valueSrcToken = InParameterSrc();
int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);

        {if ("" != null) return new InParameter(name == null ? createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
    throw new Error("Missing return statement in function");
}
ID: 1137_972
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/PullRequestFilesProducer.java
Name: org.apache.camel.component.github.producer.PullRequestFilesProducer.PullRequestFilesProducer(GitHubEndpoint endpoint)
    public PullRequestFilesProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_PULL_REQUEST_SERVICE);
        if (service != null) {
            LOG.debug("Using PullRequestService found in registry {}", service.getClass().getCanonicalName());
            pullRequestService = (PullRequestService) service;
        } else {
            pullRequestService = new PullRequestService();
        }
        initService(pullRequestService);
    }
Pair #3759 Negative (Non-Clone)
ID: 220_248
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.cloudtrail.lookupEvents");

        if (message.getHeaders().containsKey(CloudtrailConstants.EVENT_SOURCE)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.cloudtrail.event.source." + message.getHeader(CloudtrailConstants.EVENT_SOURCE, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(CloudtrailConstants.EVENT_ID, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
ID: 3233_2550
ClassID: 3233
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
Name: org.apache.camel.language.simple.SimpleExpressionParser.parseExpression()
    public Expression parseExpression() {
        try {
            parseTokens();
            return doParseExpression();
        } catch (SimpleParserException e) {
             
            throw new SimpleIllegalSyntaxException(expression, e.getIndex(), e.getMessage(), e);
        } catch (Exception e) {
             
            throw new SimpleIllegalSyntaxException(expression, -1, e.getMessage(), e);
        }
    }
Pair #3760 Negative (Non-Clone)
ID: 1976_1616
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
Name: org.apache.camel.component.djl.model.nlp.AbstractNlpZooPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 1689_1412
ClassID: 1689
File: systems/camel-java/components/camel-spring-parent/camel-spring-xml/src/main/java/org/apache/camel/spring/xml/handler/CamelNamespaceHandler.java
Name: org.apache.camel.spring.xml.handler.CamelNamespaceHandler.doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
        protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
            doBeforeParse(element);
            super.doParse(element, parserContext, builder);

             
            Binder<Node> binder;
            try {
                binder = getJaxbContext().createBinder();
            } catch (JAXBException e) {
                throw new BeanDefinitionStoreException("Failed to create the JAXB binder", e);
            }
            Object value = parseUsingJaxb(element, parserContext, binder);

            if (value instanceof CamelRouteTemplateContextFactoryBean) {
                CamelRouteTemplateContextFactoryBean factoryBean = (CamelRouteTemplateContextFactoryBean) value;
                builder.addPropertyValue("routeTemplates", factoryBean.getRouteTemplates());
            }

             
            injectNamespaces(element, binder);
        }
Pair #3761 Negative (Non-Clone)
ID: 339_391
ClassID: 339
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.createPreProcessor(Exchange exchange, DynamicAwareEntry entry)
    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        if (exchange.getMessage().getHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC) != null) {
            return null;
        }

        final String destinationName = parseTopicName(entry.getUri());
        return new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                exchange.getMessage().setHeader(PahoMqtt5Constants.CAMEL_PAHO_OVERRIDE_TOPIC, destinationName);
            }
        };
    }
ID: 2467_1983
ClassID: 2467
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction.doCall()
    public Integer doCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        List<Long> pids = findPids(name);
        if (pids.isEmpty()) {
            return 0;
        } else if (pids.size() > 1) {
            printer().println("Name or pid " + name + " matches " + pids.size()
                              + " running Camel integrations. Specify a name or PID that matches exactly one.");
            return 0;
        }

        this.pid = pids.get(0);

        Path outputFile = prepareAction(Long.toString(pid), "source", root -> {
            root.put("filter", "*");
        });

        JsonObject jo = waitForOutputFile(outputFile);
        if (jo != null) {
            JsonArray arr = (JsonArray) jo.get("routes");
            for (int i = 0; i < arr.size(); i++) {
                JsonObject o = (JsonObject) arr.get(i);
                Row row = new Row();
                row.location = extractSourceName(o.getString("source"));
                 
                if (!rows.contains(row)) {
                    List<JsonObject> lines = o.getCollection("code");
                    if (lines != null) {
                        for (JsonObject line : lines) {
                            Code code = new Code();
                            code.line = line.getInteger("line");
                            code.code = line.getString("code");
                            row.code.add(code);
                        }
                    }
                    boolean add = true;
                    if (filter != null) {
                        String f = filter;
                        boolean negate = filter.startsWith("-");
                        if (negate) {
                            f = f.substring(1);
                        }
                         
                        if (!f.endsWith("*")) {
                            f += "*";
                        }
                        boolean match = PatternHelper.matchPattern(row.location, f);
                        if (negate) {
                            match = !match;
                        }
                        if (!match) {
                            add = false;
                        }
                    }
                    if (add) {
                        rows.add(row);
                    }
                }
            }
        } else {
            printer().println("Response from running Camel with PID " + pid + " not received within 5 seconds");
            return 1;
        }

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            printSource(rows);
        }

         
        try {
            Files.deleteIfExists(outputFile);
        } catch (IOException e) {
             
        }

        return 0;
    }
Pair #3762 Negative (Non-Clone)
ID: 1853_1506
ClassID: 1853
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/KeyFormatConverter.java
Name: org.apache.camel.component.pqc.lifecycle.KeyFormatConverter.importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
    public static PublicKey importPublicKey(byte[] keyData, KeyLifecycleManager.KeyFormat format, String algorithm)
            throws Exception {
        byte[] derBytes;

        if (format == KeyLifecycleManager.KeyFormat.PEM) {
            derBytes = parsePEMPublicKey(keyData);
        } else {
            derBytes = keyData;
        }

        X509EncodedKeySpec spec = new X509EncodedKeySpec(derBytes);
        KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
        return keyFactory.generatePublic(spec);
    }
ID: 1249_1083
ClassID: 1249
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.isInputStreamNeededForObject(Object obj)
    protected boolean isInputStreamNeededForObject(Object obj) {
        if (obj == null) {
            return false;
        }

        if (obj instanceof WrappedFile) {
            obj = ((WrappedFile<?>) obj).getFile();
        }
        if (obj instanceof File) {
             
             
            return true;
        }

         
        return false;
    }
Pair #3763 Negative (Non-Clone)
ID: 3176_2450
ClassID: 3176
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
Name: org.apache.camel.support.LRUCacheFactory.getInstance()
    public static LRUCacheFactory getInstance() {
        if (instance == null) {
            LOCK.lock();
            try {
                if (instance == null) {
                    instance = createLRUCacheFactory();
                }
            } finally {
                LOCK.unlock();
            }
        }
        return instance;
    }
ID: 2233_1762
ClassID: 2233
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doPull(Exchange exchange, String operation)
    protected void doPull(Exchange exchange, String operation) throws GitAPIException {
        PullResult result = null;
        try {
            if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
                throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
            }
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                UsernamePasswordCredentialsProvider credentials
                        = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
                result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
            } else {
                result = git.pull().setRemote(endpoint.getRemoteName()).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3764 Negative (Non-Clone)
ID: 436_450
ClassID: 436
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpConfiguration.java
Name: org.apache.camel.component.netty.http.NettyHttpConfiguration.copy()
    public NettyHttpConfiguration copy() {
        try {
             
            NettyHttpConfiguration answer = (NettyHttpConfiguration) clone();
             
            answer.setEncodersAsList(new ArrayList<>(getEncodersAsList()));
            answer.setDecodersAsList(new ArrayList<>(getDecodersAsList()));
            return answer;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeCamelException(e);
        }
    }
ID: 1040_900
ClassID: 1040
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XmlSourceHandlerFactoryImpl.java
Name: org.apache.camel.component.xslt.XmlSourceHandlerFactoryImpl.isInputStreamNeeded(Exchange exchange)
    protected boolean isInputStreamNeeded(Exchange exchange) {
        Object body = exchange.getIn().getBody();
        if (body == null) {
            return false;
        }

        if (body instanceof InputStream) {
            return true;
        } else if (body instanceof Source) {
            return false;
        } else if (body instanceof String) {
            return false;
        } else if (body instanceof byte[]) {
            return false;
        } else if (body instanceof Node) {
            return false;
        } else if (exchange.getContext().getTypeConverterRegistry().lookup(Source.class, body.getClass()) != null) {
             
            return false;
        }
         
        return true;
    }
Pair #3765 Negative (Non-Clone)
ID: 3111_2399
ClassID: 3111
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
Name: org.apache.camel.builder.ExpressionClause.initPredicate(CamelContext context)
    public void initPredicate(CamelContext context) {
        if (pred == null) {
            lock.lock();
            try {
                if (pred == null) {
                    Expression newExpression = getExpressionValue();
                    Predicate newPredicate;
                    if (newExpression == null) {
                        newPredicate = delegate.getPredicateType().createPredicate(context);
                    } else {
                        newPredicate = ExpressionToPredicateAdapter.toPredicate(newExpression);
                    }
                    newPredicate.initPredicate(context);
                    pred = newPredicate;
                }
            } finally {
                lock.unlock();
            }
        }
    }
ID: 3294_2698
ClassID: 3294
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/BaseSSLContextParameters.java
Name: org.apache.camel.support.jsse.BaseSSLContextParameters.getSSLEngineConfigurers(SSLContext context)
    protected List<Configurer<SSLEngine>> getSSLEngineConfigurers(SSLContext context) {

        final List<String> enabledCipherSuites = this.getCipherSuites() == null
                ? null : this.parsePropertyValues(this.getCipherSuites().getCipherSuite());

        final Patterns enabledCipherSuitePatterns;
        final Patterns defaultEnabledCipherSuitePatterns = this.getDefaultCipherSuitesFilter().getPatterns();

        if (this.getCipherSuitesFilter() != null) {
            enabledCipherSuitePatterns = this.getCipherSuitesFilter().getPatterns();
        } else {
            enabledCipherSuitePatterns = null;
        }

        final List<String> enabledSecureSocketProtocols = this.getSecureSocketProtocols() == null
                ? null : this.parsePropertyValues(this.getSecureSocketProtocols().getSecureSocketProtocol());

        final Patterns enabledSecureSocketProtocolsPatterns;
        final Patterns defaultEnabledSecureSocketProtocolsPatterns = this.getDefaultSecureSocketProcotolFilter().getPatterns();

        if (this.getSecureSocketProtocolsFilter() != null) {
            enabledSecureSocketProtocolsPatterns = this.getSecureSocketProtocolsFilter().getPatterns();
        } else {
            enabledSecureSocketProtocolsPatterns = null;
        }

         

        final boolean allowPassthrough = getAllowPassthrough();

         

        Configurer<SSLEngine> sslEngineConfigurer = new Configurer<>() {

            @Override
            public SSLEngine configure(SSLEngine engine) {

                Collection<String> filteredCipherSuites = BaseSSLContextParameters.this
                        .filter(enabledCipherSuites, Arrays.asList(engine.getSSLParameters().getCipherSuites()),
                                Arrays.asList(engine.getEnabledCipherSuites()),
                                enabledCipherSuitePatterns, defaultEnabledCipherSuitePatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_CIPHER_SUITE_LOG_MSG,
                            engine,
                            enabledCipherSuites,
                            enabledCipherSuitePatterns,
                            engine.getSSLParameters().getCipherSuites(),
                            engine.getEnabledCipherSuites(),
                            defaultEnabledCipherSuitePatterns,
                            filteredCipherSuites);
                }

                engine.setEnabledCipherSuites(filteredCipherSuites.toArray(new String[0]));

                Collection<String> filteredSecureSocketProtocols = BaseSSLContextParameters.this
                        .filter(enabledSecureSocketProtocols, Arrays.asList(engine.getSSLParameters().getProtocols()),
                                Arrays.asList(engine.getEnabledProtocols()),
                                enabledSecureSocketProtocolsPatterns, defaultEnabledSecureSocketProtocolsPatterns,
                                !allowPassthrough);

                if (LOG.isDebugEnabled()) {
                    LOG.debug(SSL_ENGINE_PROTOCOL_LOG_MSG,
                            engine,
                            enabledSecureSocketProtocols,
                            enabledSecureSocketProtocolsPatterns,
                            engine.getSSLParameters().getProtocols(),
                            engine.getEnabledProtocols(),
                            defaultEnabledSecureSocketProtocolsPatterns,
                            filteredSecureSocketProtocols);
                }

                engine.setEnabledProtocols(
                        filteredSecureSocketProtocols.toArray(new String[0]));

                return engine;
            }
        };

        List<Configurer<SSLEngine>> sslEngineConfigurers = new LinkedList<>();
        sslEngineConfigurers.add(sslEngineConfigurer);

        return sslEngineConfigurers;
    }
Pair #3766 Negative (Non-Clone)
ID: 3247_2589
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupServiceRegistry()
    private void setupServiceRegistry() throws Exception {
        Map<String, ServiceRegistry> serviceRegistries = getContext().getRegistry().findByTypeWithName(ServiceRegistry.class);
        if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
            for (Entry<String, ServiceRegistry> entry : serviceRegistries.entrySet()) {
                ServiceRegistry service = entry.getValue();

                if (service.getId() == null) {
                    service.setGeneratedId(getContext().getUuidGenerator().generateUuid());
                }

                LOG.info("Using ServiceRegistry with id: {} and implementation: {}", service.getId(), service);
                getContext().addService(service);
            }
        }
    }
ID: 218_240
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.subscribeToMono(final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback)
    private <T> void subscribeToMono(
            final Mono<T> inputMono, final Exchange exchange, final Consumer<T> resultsCallback, final AsyncCallback callback) {
        inputMono
                .subscribe(resultsCallback, error -> {
                     
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    }
                    exchange.setException(error);
                    callback.done(false);
                }, () -> {
                     
                    LOG.trace("All events with exchange have been sent successfully.");
                    callback.done(false);
                });
    }
Pair #3767 Negative (Non-Clone)
ID: 2610_2244
ClassID: 2610
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateDataFormatModel(JsonObject obj)
    public static DataFormatModel generateDataFormatModel(JsonObject obj) {
        JsonObject mobj = (JsonObject) obj.get("dataformat");
        DataFormatModel model = new DataFormatModel();
        parseModel(mobj, model);
        parseArtifact(mobj, model);
        model.setModelName(mobj.getString("modelName"));
        model.setModelJavaType(mobj.getString("modelJavaType"));
        JsonObject mprp = (JsonObject) obj.get("properties");
        for (Map.Entry<String, Object> entry : mprp.entrySet()) {
            JsonObject mp = (JsonObject) entry.getValue();
            DataFormatOptionModel option = new DataFormatOptionModel();
            parseOption(mp, option, entry.getKey());
            model.addOption(option);
        }
        return model;
    }
ID: 892_740
ClassID: 892
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/SqlHelper.java
Name: org.apache.camel.component.google.bigquery.sql.SqlHelper.resolveQuery(CamelContext camelContext, String query, String placeholder)
    public static String resolveQuery(CamelContext camelContext, String query, String placeholder)
            throws NoTypeConversionAvailableException, IOException {
        String answer = query;
        if (ResourceHelper.hasScheme(query)) {
            try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query)) {
                answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is);
                if (placeholder != null) {
                    answer = answer.replaceAll(placeholder, "@");
                }
            }
        }
        return answer;
    }
Pair #3768 Negative (Non-Clone)
ID: 1217_1042
ClassID: 1217
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.performOperation(Exchange exchange, StripeOperation operation, String method)
    private Object performOperation(Exchange exchange, StripeOperation operation, String method) throws Exception {
        switch (operation) {
            case CHARGES:
                return handleCharges(exchange, method);
            case CUSTOMERS:
                return handleCustomers(exchange, method);
            case PAYMENT_INTENTS:
                return handlePaymentIntents(exchange, method);
            case PAYMENT_METHODS:
                return handlePaymentMethods(exchange, method);
            case REFUNDS:
                return handleRefunds(exchange, method);
            case SUBSCRIPTIONS:
                return handleSubscriptions(exchange, method);
            case INVOICES:
                return handleInvoices(exchange, method);
            case PRODUCTS:
                return handleProducts(exchange, method);
            case PRICES:
                return handlePrices(exchange, method);
            case BALANCE_TRANSACTIONS:
                return handleBalanceTransactions(exchange, method);
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
ID: 18_29
ClassID: 18
File: systems/camel-java/components/camel-consul/src/generated/java/org/apache/camel/component/consul/endpoint/ConsulCoordinatesProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer target = (org.apache.camel.component.consul.endpoint.ConsulCoordinatesProducer) obj;
        switch (key) {
        case "datacenters":
        case "DATACENTERS": target.datacenters(exchange.getMessage()); return null;
        case "nodes":
        case "NODES": target.nodes(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3769 Negative (Non-Clone)
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
ID: 1841_1502
ClassID: 1841
File: systems/camel-java/components/camel-plc4x/src/main/java/org/apache/camel/component/plc4x/Plc4XConsumer.java
Name: org.apache.camel.component.plc4x.Plc4XConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        try {
            plc4XEndpoint.setupConnection();
        } catch (PlcConnectionException e) {
            if (LOGGER.isTraceEnabled()) {
                LOGGER.error("Connection setup failed, stopping Consumer", e);
            } else {
                LOGGER.error("Connection setup failed, stopping Consumer");
            }
            doStop();
        }
        if (trigger == null) {
            startUnTriggered();
        } else {
            startTriggered();
        }
    }
Pair #3770 Negative (Non-Clone)
ID: 1036_890
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathTemplateHandler.remove(final String uriTemplate)
    public CamelPathTemplateHandler remove(final String uriTemplate) {
        lock.lock();
        try {
            delegate.remove(uriTemplate);
            handlers.remove(uriTemplate);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 903_778
ClassID: 903
File: systems/camel-java/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
Name: org.apache.camel.component.google.drive.GoogleDriveEndpoint.afterConfigureProperties()
    protected void afterConfigureProperties() {
        switch (apiName) {
            case DRIVE_ABOUT:
                apiProxy = getClient().about();
                break;
            case DRIVE_CHANGES:
                apiProxy = getClient().changes();
                break;
            case DRIVE_CHANNELS:
                apiProxy = getClient().channels();
                break;
            case DRIVE_COMMENTS:
                apiProxy = getClient().comments();
                break;
            case DRIVE_DRIVES:
                apiProxy = getClient().drives();
                break;
            case DRIVE_FILES:
                apiProxy = getClient().files();
                break;
            case DRIVE_PERMISSIONS:
                apiProxy = getClient().permissions();
                break;
            case DRIVE_REPLIES:
                apiProxy = getClient().replies();
                break;
            case DRIVE_REVISIONS:
                apiProxy = getClient().revisions();
                break;
            case DRIVE_TEAMDRIVES:
                apiProxy = getClient().teamdrives();
                break;
            default:
                throw new IllegalArgumentException("Invalid API name " + apiName);
        }
    }
Pair #3771 Negative (Non-Clone)
ID: 2299_1818
ClassID: 2299
File: systems/camel-java/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
Name: org.apache.camel.component.aws2.firehose.KinesisFirehose2Producer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        KinesisFirehose2Operations operation = determineOperation(exchange);
        if (ObjectHelper.isEmpty(operation)) {
            processSingleRecord(exchange);
        } else {
            switch (operation) {
                case sendBatchRecord:
                    sendBatchRecord(getClient(), exchange);
                    break;
                case createDeliveryStream:
                    createDeliveryStream(getClient(), exchange);
                    break;
                case deleteDeliveryStream:
                    deleteDeliveryStream(getClient(), exchange);
                    break;
                case updateDestination:
                    updateDestination(getClient(), exchange);
                    break;
                case describeDeliveryStream:
                    describeDeliveryStream(getClient(), exchange);
                    break;
                default:
                    throw new IllegalArgumentException("Unsupported operation");
            }
        }
    }
ID: 2470_2000
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListEndpoint.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint.getUri(Row r)
    private String getUri(Row r) {
        String u = r.endpoint;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
Pair #3772 Negative (Non-Clone)
ID: 3270_2640
ClassID: 3270
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/PollDynamicAwareSupport.java
Name: org.apache.camel.support.component.PollDynamicAwareSupport.doInit()
    protected void doInit() throws Exception {
        if (knownProperties == null || knownPrefixes == null) {
             
            EndpointUriFactory factory = getCamelContext().getCamelContextExtension().getEndpointUriFactory(getScheme());
            if (factory == null) {
                throw new IllegalStateException("Cannot find EndpointUriFactory for component: " + getScheme());
            }
            knownProperties = factory.propertyNames();
            knownPrefixes = factory.multiValuePrefixes();
        }
    }
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #3773 Negative (Non-Clone)
ID: 2365_1863
ClassID: 2365
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
Name: org.apache.camel.component.aws2.bedrock.runtime.BedrockProducer.processStreamingRequest(InvokeModelWithResponseStreamRequest request, Exchange exchange)
    private void processStreamingRequest(
            InvokeModelWithResponseStreamRequest request,
            Exchange exchange) {

        try {
            String streamOutputMode = getConfiguration().getStreamOutputMode();
            if (streamOutputMode == null) {
                streamOutputMode = "complete";
            }

             
            if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(BedrockConstants.STREAM_OUTPUT_MODE))) {
                streamOutputMode = exchange.getIn().getHeader(BedrockConstants.STREAM_OUTPUT_MODE, String.class);
            }

            Message message = getMessageForResponse(exchange);
            BedrockStreamHandler.StreamMetadata metadata = new BedrockStreamHandler.StreamMetadata();

            if ("chunks".equals(streamOutputMode)) {
                 
                List<String> allChunks = new ArrayList<>();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createChunksHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                allChunks,
                                null))
                        .join();

                message.setBody(allChunks);
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            } else {
                 
                StringBuilder fullText = new StringBuilder();
                getEndpoint().getBedrockRuntimeAsyncClient().invokeModelWithResponseStream(
                        request,
                        BedrockStreamHandler.createCompleteHandler(
                                getConfiguration().getModelId(),
                                metadata,
                                fullText))
                        .join();

                message.setBody(fullText.toString());
                if (getConfiguration().isIncludeStreamingMetadata()) {
                    setStreamingMetadata(message, metadata);
                }
            }

        } catch (AwsServiceException ase) {
            LOG.trace("Invoke Model Streaming command returned the error code {}", ase.awsErrorDetails().errorCode());
            throw ase;
        }
    }
ID: 2400_1892
ClassID: 2400
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/spi/CamelLogger.java
Name: org.apache.camel.spi.CamelLogger.log(Logger log, LoggingLevel level, String message)
    public static void log(Logger log, LoggingLevel level, String message) {
        switch (level) {
            case DEBUG:
                log.debug(message);
                break;
            case ERROR:
                log.error(message);
                break;
            case INFO:
                log.info(message);
                break;
            case TRACE:
                log.trace(message);
                break;
            case WARN:
                log.warn(message);
                break;
            default:
        }
    }
Pair #3774 Negative (Non-Clone)
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 338_383
ClassID: 338
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String destination = parseDestinationName(entry.getUri());
        if (destination != null) {
            String originalDestination = parseDestinationName(entry.getOriginalUri());
            if (!destination.equals(originalDestination)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
                return answer;
            }
        }
        return null;
    }
Pair #3775 Negative (Non-Clone)
ID: 1857_1517
ClassID: 1857
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.rotateKey(String oldKeyId, String newKeyId, String algorithm)
    public KeyPair rotateKey(String oldKeyId, String newKeyId, String algorithm) throws Exception {
        LOG.info("Rotating key from {} to {}", oldKeyId, newKeyId);

         
        KeyMetadata oldMetadata = getKeyMetadata(oldKeyId);
        if (oldMetadata == null) {
            throw new IllegalArgumentException("Old key not found: " + oldKeyId);
        }

         
        oldMetadata.setStatus(KeyMetadata.KeyStatus.DEPRECATED);
        updateKeyMetadata(oldKeyId, oldMetadata);

         
        KeyPair newKeyPair = generateKeyPair(algorithm, newKeyId);

        LOG.info("Key rotation completed: {} -> {}", oldKeyId, newKeyId);
        return newKeyPair;
    }
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
Pair #3776 Negative (Non-Clone)
ID: 900_773
ClassID: 900
File: systems/camel-java/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/BatchGoogleMailClientFactory.java
Name: org.apache.camel.component.google.mail.BatchGoogleMailClientFactory.makeClient(CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName, String delegate)
    public Gmail makeClient(
            CamelContext camelContext, String serviceAccountKey, Collection<String> scopes, String applicationName,
            String delegate) {
        if (serviceAccountKey == null) {
            throw new IllegalArgumentException("serviceAccountKey is required to create Gmail client.");
        }
        try {
            Credential credential = authorizeServiceAccount(camelContext, serviceAccountKey, delegate, scopes);
            return new Gmail.Builder(transport, jsonFactory, credential).setApplicationName(applicationName).build();
        } catch (Exception e) {
            throw new RuntimeCamelException("Could not create Gmail client.", e);
        }
    }
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
Pair #3777 Negative (Non-Clone)
ID: 2092_1683
ClassID: 2092
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
Name: org.apache.camel.component.file.remote.SftpConsumer.getSftpRemoteFiles(String dir)
    private SftpRemoteFile[] getSftpRemoteFiles(String dir) {
        SftpRemoteFile[] files = null;
        try {
            LOG.trace("Polling directory: {}", dir);
            if (isUseList()) {
                files = listFiles(dir);
            } else {
                files = pollNamedFile();
            }
        } catch (GenericFileOperationFailedException e) {
            if (ignoreCannotRetrieveFile(null, null, e)) {
                LOG.debug("Cannot list files in directory {} due directory does not exist or file permission error.", dir);
            } else {
                throw e;
            }
        }
        return files;
    }
ID: 2286_1800
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectors(S3VectorsClient client, Exchange exchange)
    private void deleteVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        DeleteVectorsRequest request = DeleteVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Deleting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        DeleteVectorsResponse response = client.deleteVectors(request);
        LOG.trace("Delete vectors response: {}", response);

        message.setBody(response);
    }
Pair #3778 Negative (Non-Clone)
ID: 1973_1607
ClassID: 1973
File: systems/camel-java/components/camel-ai/camel-chroma/src/main/java/org/apache/camel/component/chroma/ChromaProducer.java
Name: org.apache.camel.component.chroma.ChromaProducer.delete(Exchange exchange)
    private void delete(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName = getCollectionName(in);
        Collection collection = this.client.getCollection(collectionName, embeddingFunction);

        List<String> ids = in.getHeader(ChromaHeaders.IDS, List.class);
        Map<String, Object> where = in.getHeader(ChromaHeaders.WHERE, Map.class);
        Map<String, Object> whereDocument = in.getHeader(ChromaHeaders.WHERE_DOCUMENT, Map.class);

        collection.delete(ids, where, whereDocument);
        in.setHeader(ChromaHeaders.OPERATION_STATUS, "SUCCESS");
    }
ID: 2670_2359
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceDiscardingOfGroup(String key)
    public int forceDiscardingOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 
                onCompletion(key, exchange, exchange, false, true);
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force discarded of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
        }
        return total;
    }
Pair #3779 Negative (Non-Clone)
ID: 2450_1937
ClassID: 2450
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
Name: org.apache.camel.dsl.jbang.core.commands.Init.downloadFromGithub()
    private int downloadFromGithub() throws Exception {
        StringJoiner all = new StringJoiner(",");

        String ext = FileUtil.onlyExt(file);
        boolean wildcard = FileUtil.onlyName(file, false).contains("*");
        if (ext != null && !wildcard) {
             
            String url = asGithubSingleUrl(file);
            all.add(url);
        } else {
            fetchGithubUrls(file, all);
        }

        if (all.length() > 0) {
             
            if (!directory.equals(".")) {
                Path dirPath = Paths.get(directory);
                if (cleanDirectory) {
                     
                    CommandHelper.cleanExportDir(directory);
                }
                Files.createDirectories(dirPath);
            }

            CamelContext tiny = new DefaultCamelContext();
            try (GitHubResourceResolver resolver = new GitHubResourceResolver()) {
                resolver.setCamelContext(tiny);
                for (String u : all.toString().split(",")) {
                    Resource resource = resolver.resolve(u);
                    if (!resource.exists()) {
                        throw new ResourceDoesNotExist(resource);
                    }
                    String loc = resource.getLocation();
                    String name = FileUtil.stripPath(loc);
                    Path targetPath = Paths.get(directory, name);
                    try (OutputStream os = Files.newOutputStream(targetPath)) {
                        IOUtils.copy(resource.getInputStream(), os);
                    }
                }
            }
        }

        return 0;
    }
ID: 2650_2312
ClassID: 2650
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java
Name: org.apache.camel.processor.resequencer.Sequence.successor(E e)
    public E successor(E e) {
        E elem = higher(e);
        if (elem == null) {
            return null;
        }
        if (seqComparator().successor(elem, e)) {
            return elem;
        }
        return null;
    }
Pair #3780 Negative (Non-Clone)
ID: 921_793
ClassID: 921
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/consumer/CamelMessageReceiver.java
Name: org.apache.camel.component.google.pubsublite.consumer.CamelMessageReceiver.CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor)
    public CamelMessageReceiver(GooglePubsubLiteConsumer consumer, GooglePubsubLiteEndpoint endpoint, Processor processor) {
        this.consumer = consumer;
        this.endpoint = endpoint;
        this.processor = processor;
        String loggerId = endpoint.getLoggerId();
        if (Strings.isNullOrEmpty(loggerId)) {
            loggerId = this.getClass().getName();
        }
        localLog = LoggerFactory.getLogger(loggerId);
    }
ID: 3245_2578
ClassID: 3245
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
Name: org.apache.camel.reifier.RemoveHeadersReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getPattern(), "patterns", definition);
        RemoveHeadersProcessor answer;
        if (definition.getExcludePatterns() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(definition.getExcludePatterns()));
        } else if (definition.getExcludePattern() != null) {
            answer = new RemoveHeadersProcessor(
                    parseString(definition.getPattern()), parseStrings(new String[] { definition.getExcludePattern() }));
        } else {
            answer = new RemoveHeadersProcessor(parseString(definition.getPattern()), null);
        }
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #3781 Negative (Non-Clone)
ID: 2578_2171
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkSince(final File file)
    private void checkSince(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String sinceText = "*Since Camel {since}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);
        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(sinceText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string '" + sinceText + "'");
        }
    }
ID: 898_760
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
Name: org.apache.camel.component.google.sheets.GoogleSheetsComponent.getClient(GoogleSheetsConfiguration config)
    public Sheets getClient(GoogleSheetsConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(),
                        config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(), config.getAccessToken());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(), config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Sheets client");
            }
        }
        return client;
    }
Pair #3782 Negative (Non-Clone)
ID: 2664_2346
ClassID: 2664
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.fireListeners(Exchange exchange, String message)
    private String fireListeners(Exchange exchange, String message) {
        if (listeners == null || listeners.isEmpty()) {
            return message;
        }
        for (LogListener listener : listeners) {
            if (listener == null) {
                continue;
            }
            try {
                String output = listener.onLog(exchange, logger, message);
                message = output != null ? output : message;
            } catch (Exception t) {
                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("", t);
                }
            }
        }
        return message;
    }
ID: 3271_2642
ClassID: 3271
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/component/SendDynamicAwareSupport.java
Name: org.apache.camel.support.component.SendDynamicAwareSupport.endpointLenientProperties(Exchange exchange, String uri)
    public Map<String, Object> endpointLenientProperties(Exchange exchange, String uri) throws Exception {
        Map<String, Object> properties;
         
        Map<String, Object> map = URISupport.parseQuery(URISupport.extractQuery(uri));
        if (map != null && !map.isEmpty()) {
            if (resolveRawParameterValues()) {
                 
                 
                 
                RawParameterHelper.resolveRawParameterValues(exchange.getContext(), map);
            }
            properties = new LinkedHashMap<>();
            map.forEach((k, v) -> {
                 
                 
                boolean accept = !knownProperties.contains(k);
                if (accept && !knownPrefixes.isEmpty()) {
                    accept = knownPrefixes.values().stream().noneMatch(k::startsWith);
                }
                if (accept) {
                    properties.put(k, v.toString());
                }
            });
        } else {
            properties = map;
        }
        return properties;
    }
Pair #3783 Negative (Non-Clone)
ID: 1424_1272
ClassID: 1424
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java
Name: org.apache.camel.util.OrderedLocationProperties.remove(Object key)
    public Object remove(Object key) {
        lock.lock();
        try {
            locations.remove(key);
            defaultValues.remove(key);
            return super.remove(key);
        } finally {
            lock.unlock();
        }
    }
ID: 2464_1973
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.tailTraceFiles(Map<Long, Pid> pids, int tail)
    private void tailTraceFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getTraceFile(pid.pid);
            if (Files.exists(file)) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
Pair #3784 Negative (Non-Clone)
ID: 175_149
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
ID: 555_531
ClassID: 555
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.initialize(Client client, Bus bus)
    public void initialize(Client client, Bus bus) {
        client.getEndpoint().put("org.apache.cxf.binding.soap.addNamespaceContext", "true");
        removeFaultInInterceptorFromClient(client);

         
         
         
         
         
        removeInterceptor(client.getEndpoint().getInInterceptors(),
                HolderInInterceptor.class);
        removeInterceptor(client.getEndpoint().getOutInterceptors(),
                HolderOutInterceptor.class);
         
         
         
        removeInterceptor(client.getEndpoint().getBinding().getInInterceptors(),
                SoapHeaderInterceptor.class);
        client.getEndpoint().getBinding().getInInterceptors().add(new ConfigureDocLitWrapperInterceptor(true));
        resetPartTypes(client.getEndpoint().getBinding());

        LOG.info("Initialized CXF Client: {} in Payload mode with allow streaming: {}", client, allowStreaming);
    }
Pair #3785 Negative (Non-Clone)
ID: 2653_2318
ClassID: 2653
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java
Name: org.apache.camel.processor.ClaimCheckAggregationStrategy.isExcludeOnlyHeaderPatterns()
    private boolean isExcludeOnlyHeaderPatterns() {
        String[] parts = filter.split(",");
        for (String pattern : parts) {
            if (pattern.startsWith("--")) {
                continue;
            }
            if (pattern.startsWith("header:") || pattern.startsWith("+header:")) {
                return false;
            }
        }
        return true;
    }
ID: 53_67
ClassID: 53
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
    public Exchange add(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange)
            throws OptimisticLockingException {
        if (!optimistic) {
            throw new UnsupportedOperationException();
        }

        LOG.trace("Adding an Exchange with ID {} for key {} in an optimistic manner.", newExchange.getExchangeId(), key);
        if (oldExchange == null) {
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.getAndPut(key, newHolder);
            if (oldHolder != null) {
                Exchange exchange = unmarshallExchange(camelContext, oldHolder);
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#putIfAbsend returned Exchange with ID {}, while it's expected no exchanges to be returned",
                        key,
                        exchange != null ? exchange.getExchangeId() : "<null>");

                throw new OptimisticLockingException();
            }
        } else {
            DefaultExchangeHolder oldHolder = DefaultExchangeHolder.marshal(oldExchange, true, allowSerializedHeaders);
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(newExchange, true, allowSerializedHeaders);
            if (!cache.replace(key, oldHolder, newHolder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#replace returned no Exchanges, while it's expected to replace one",
                        key);
                throw new OptimisticLockingException();
            }
        }
        LOG.trace("Added an Exchange with ID {} for key {} in optimistic manner.", newExchange.getExchangeId(), key);
        return oldExchange;
    }
Pair #3786 Negative (Non-Clone)
ID: 1213_1035
ClassID: 1213
File: systems/camel-java/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/Soap12DataFormatAdapter.java
Name: org.apache.camel.dataformat.soap.Soap12DataFormatAdapter.doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction)
    public Object doMarshal(Exchange exchange, Object inputObject, OutputStream stream, String soapAction) throws IOException {
        Body body = objectFactory.createBody();
        Header header = objectFactory.createHeader();

        Throwable exception = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, Throwable.class);
        if (exception == null) {
            exception = exchange.getIn().getHeader(Exchange.EXCEPTION_CAUGHT, Throwable.class);
        }

        final List<Object> bodyContent;
        List<Object> headerContent = new ArrayList<>();
        if (exception != null) {
            bodyContent = new ArrayList<>();
            bodyContent.add(createFaultFromException(exception));
        } else {
            if (!dataFormat.isIgnoreUnmarshalledHeaders()) {
                List<Object> inboundSoapHeaders
                        = (List<Object>) exchange.getIn().getHeader(SoapDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
                if (null != inboundSoapHeaders) {
                    headerContent.addAll(inboundSoapHeaders);
                }
            }
            bodyContent = getDataFormat().createContentFromObject(inputObject, soapAction);
        }

        for (Object elem : bodyContent) {
            body.getAny().add(elem);
        }
        for (Object elem : headerContent) {
            header.getAny().add(elem);
        }
        Envelope envelope = new Envelope();
        if (!headerContent.isEmpty()) {
            envelope.setHeader(header);
        }
        envelope.setBody(body);
        return objectFactory.createEnvelope(envelope);
    }
ID: 2525_2092
ClassID: 2525
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
Name: org.apache.camel.main.KameletMain.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #3787 Negative (Non-Clone)
ID: 438_455
ClassID: 438
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpClientInitializerFactory.configureClientSSLOnDemand()
    private SslHandler configureClientSSLOnDemand() throws Exception {
        if (!producer.getConfiguration().isSsl()) {
            return null;
        }

        if (producer.getConfiguration().getSslHandler() != null) {
            return producer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            URI uri = new URI(producer.getEndpoint().getEndpointUri());
            SSLEngine engine = sslContext.createSSLEngine(uri.getHost(), uri.getPort());
            engine.setUseClientMode(true);
            SSLParameters sslParameters = engine.getSSLParameters();
            sslParameters
                    .setServerNames(sniServerNames != null ? sniServerNames : List.of(new SNIHostName(uri.getHost())));
            if (producer.getConfiguration().isHostnameVerification()) {
                sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
            }
            engine.setSSLParameters(sslParameters);
            if (producer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
ID: 2482_2036
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #3788 Negative (Non-Clone)
ID: 584_550
ClassID: 584
File: systems/camel-java/components/camel-fhir/camel-fhir-api/src/main/java/org/apache/camel/component/fhir/api/FhirHistory.java
Name: org.apache.camel.component.fhir.api.FhirHistory.processOptionalParams(Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped)
    private <T extends IBaseBundle> void processOptionalParams(
            Integer count, Date theCutoff, IPrimitiveType<Date> cutoff, IHistoryTyped<T> tiHistoryTyped) {
        if (count != null) {
            tiHistoryTyped.count(count);
        }
        if (theCutoff != null) {
            tiHistoryTyped.since(theCutoff);
        }
        if (cutoff != null) {
            tiHistoryTyped.since(cutoff);
        }
    }
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
Pair #3789 Negative (Non-Clone)
ID: 1125_957
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceDetectionOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceDetectionConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceDetectBase64Req base64ReqBody
                        = new FaceDetectBase64Req().withImageBase64(clientConfigurations.getImageBase64());
                result = this.frsClient.detectFaceByBase64(new DetectFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceDetectUrlReq urlReqBody = new FaceDetectUrlReq().withImageUrl(clientConfigurations.getImageUrl());
                result = this.frsClient.detectFaceByUrl(new DetectFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream inputStream = new FileInputStream(clientConfigurations.getImageFilePath())) {
                    DetectFaceByFileRequestBody fileReqBody = new DetectFaceByFileRequestBody().withImageFile(inputStream,
                            getFileName(clientConfigurations.getImageFilePath()));
                    result = this.frsClient.detectFaceByFile(new DetectFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file path is invalid: %s", clientConfigurations.getImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 2043_1652
ClassID: 2043
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java
Name: org.apache.camel.component.file.GenericFileOnCompletion.processStrategyRollback(GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file)
    protected void processStrategyRollback(
            GenericFileProcessStrategy<T> processStrategy, Exchange exchange, GenericFile<T> file) {

        if (LOG.isWarnEnabled()) {
            LOG.warn("Rollback file strategy: {} for file: {}", processStrategy, file);
        }

        if (Boolean.TRUE.equals(endpoint.isIdempotent())) {
             
             
            String key = absoluteFileName;
            if (endpoint.getIdempotentKey() != null) {
                Exchange dummy = GenericFileHelper.createDummy(endpoint, exchange, () -> file);
                key = endpoint.getIdempotentKey().evaluate(dummy, String.class);
            }
            if (key != null) {
                endpoint.getIdempotentRepository().remove(key);
            }
        }

         
         
         
        if (endpoint.getMoveFailed() != null) {
            handleDoneFile(exchange);
        }

        try {
            processStrategy.rollback(operations, endpoint, exchange, file);
        } catch (Exception e) {
            handleException("Error during rollback", exchange, e);
        }
    }
Pair #3790 Negative (Non-Clone)
ID: 1161_993
ClassID: 1161
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorStreamsService.java
Name: org.apache.camel.component.reactor.engine.ReactorStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            context.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            });

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 195_222
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetRequest(final Exchange exchange, final AsyncCallback callback)
    private void processGetRequest(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }

        bulkClient.getRequest(jobId, batchId, determineHeaders(exchange), new BulkApiClient.StreamResponseCallback() {
            @Override
            public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                 
                 
                StreamCache body = null;
                if (inputStream != null) {
                    try {
                        body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                    } catch (IOException e) {
                        String msg = "Error retrieving batch request: " + e.getMessage();
                        ex = new SalesforceException(msg, e);
                    } finally {
                         
                        try {
                            inputStream.close();
                        } catch (IOException ignore) {
                        }
                    }
                }
                processResponse(exchange, body, headers, ex, callback);
            }
        });
    }
Pair #3791 Negative (Non-Clone)
ID: 1314_1213
ClassID: 1314
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doCreateOrUpdateDeployment(Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation)
    private void doCreateOrUpdateDeployment(
            Exchange exchange, String operationName, Function<Resource<Deployment>, Deployment> operation) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        DeploymentSpec deSpec
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_SPEC, DeploymentSpec.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("{} a specific Deployment require specify a Deployment name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a pod name", operationName));
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("{} a specific Deployment require specify a namespace name", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a namespace name", operationName));
        }
        if (ObjectHelper.isEmpty(deSpec)) {
            LOG.error("{} a specific Deployment require specify a Deployment spec bean", operationName);
            throw new IllegalArgumentException(
                    String.format("%s a specific Deployment require specify a Deployment spec bean", operationName));
        }
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_LABELS, Map.class);
        Map<String, String> annotations
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENTS_ANNOTATIONS, Map.class);
        DeploymentBuilder deploymentCreating;
        if (ObjectHelper.isEmpty(annotations)) {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .endMetadata().withSpec(deSpec);
        } else {
            deploymentCreating = new DeploymentBuilder().withNewMetadata().withName(deploymentName).withLabels(labels)
                    .withAnnotations(annotations)
                    .endMetadata().withSpec(deSpec);
        }
        Deployment deployment
                = operation.apply(getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                        .resource(deploymentCreating.build()));

        prepareOutboundMessage(exchange, deployment);
    }
ID: 1619_1393
ClassID: 1619
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
Pair #3792 Negative (Non-Clone)
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 2094_1686
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivity()
    public String getLastFtpActivity() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastLogActivity();
            if (log != null) {
                long since = listener.getLastLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
Pair #3793 Negative (Non-Clone)
ID: 3297_2708
ClassID: 3297
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
Name: org.apache.camel.health.HealthCheckHelper.getHealthCheck(CamelContext context, String id)
    public static HealthCheck getHealthCheck(CamelContext context, String id) {
        HealthCheck answer = null;

        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
        if (hcr != null && hcr.isEnabled()) {
            Optional<HealthCheck> check = hcr.getCheck(id);
            if (check.isEmpty()) {
                 
                HealthCheckResolver resolver
                        = context.getCamelContextExtension().getContextPlugin(HealthCheckResolver.class);
                HealthCheck hc = resolver.resolveHealthCheck(id);
                if (hc != null) {
                    check = Optional.of(hc);
                    hcr.register(hc);
                }
            }
            if (check.isPresent()) {
                answer = check.get();
            }
        }
        return answer;
    }
ID: 1203_1028
ClassID: 1203
File: systems/camel-java/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubProducer.java
Name: org.apache.camel.component.pubnub.PubNubProducer.doPublish(Exchange exchange, AsyncCallback callback)
    private void doPublish(Exchange exchange, AsyncCallback callback) {
        Object body = exchange.getIn().getBody();
        if (ObjectHelper.isEmpty(body)) {
            throw new RuntimeCamelException("Cannot publish empty message");
        }
        LOG.debug("Sending message [{}] to channel [{}]", body, getChannel(exchange));
        endpoint.getPubnub()
                .publish()
                .message(body)
                .channel(getChannel(exchange))
                .usePOST(true)
                .async((Result<PNPublishResult> result) -> {
                    LOG.debug("Got publish message [{}]", result);
                    if (result.isFailure()) {
                        PubNubException ex = result.exceptionOrNull();
                        if (ex != null) {
                            exchange.setException(ex);
                        }
                        callback.done(false);
                    } else {
                        PNPublishResult r = result.getOrNull();
                        if (r != null) {
                            exchange.getIn().setHeader(PubNubConstants.TIMETOKEN, r.getTimetoken());
                        }
                        processMessage(exchange, callback, null);
                    }
                });
    }
Pair #3794 Negative (Non-Clone)
ID: 376_410
ClassID: 376
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
Name: org.apache.camel.component.sjms.consumer.EndpointMessageListener.sendReply(Session session, String replyDestination, final Message message, final Exchange exchange, final org.apache.camel.Message out, final Exception cause)
    protected void sendReply(
            Session session,
            String replyDestination, final Message message, final Exchange exchange,
            final org.apache.camel.Message out, final Exception cause) {
        if (replyDestination == null) {
            LOG.debug("Cannot send reply message as there is no replyDestination for: {}", out);
            return;
        }
        try {
            SessionCallback callback = createSessionCallback(replyDestination, message, exchange, out, cause,
                    endpoint.getJmsObjectFactory()::createMessageProducer);

            getTemplate().execute(session, callback);

        } catch (Exception e) {
            exchange.setException(new CamelExchangeException("Unable to send reply JMS message", exchange, e));
        }
    }
ID: 3164_2422
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedSendDynamicProcessor.java
Name: org.apache.camel.management.mbean.ManagedSendDynamicProcessor.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3795 Negative (Non-Clone)
ID: 2508_2060
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.methods(ClassInfo ci)
    protected Set<MethodInfo> methods(ClassInfo ci) {
        Set<MethodInfo> methods = new TreeSet<>(Comparator.comparing(MethodInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            methods.addAll(current.methods());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return methods;
    }
ID: 1939_1590
ClassID: 1939
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.doStart()
    protected void doStart() throws Exception {
        if (useJmx) {
            ManagementAgent agent = getCamelContext().getManagementStrategy().getManagementAgent();
            if (agent != null) {
                MBeanServer server = agent.getMBeanServer();
                if (server != null) {
                    reporter = JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                    reporter.start();
                }
            } else {
                throw new IllegalStateException("CamelContext has not enabled JMX");
            }
        }
    }
Pair #3796 Negative (Non-Clone)
ID: 662_601
ClassID: 662
File: systems/camel-java/components/camel-jsonpath/src/main/java/org/apache/camel/jsonpath/JsonPathAnnotationExpressionFactory.java
Name: org.apache.camel.jsonpath.JsonPathAnnotationExpressionFactory.getSource(Annotation annotation)
    protected String getSource(Annotation annotation) {
        String answer = null;
        try {
            answer = (String) getAnnotationObjectValue(annotation, "source");
        } catch (Exception e) {
             
        }
        if (answer != null && answer.isBlank()) {
            return null;
        }
        return answer;
    }
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
Pair #3797 Negative (Non-Clone)
ID: 3251_2601
ClassID: 3251
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean.getObject()
    public KeyStoreParameters getObject() throws Exception {
        if (this.isSingleton()) {
            if (instance == null) {
                instance = createInstance();
            }
            return instance;
        } else {
            return createInstance();
        }
    }
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #3798 Negative (Non-Clone)
ID: 2637_2274
ClassID: 2637
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
Name: org.apache.camel.impl.engine.DefaultConsumerTemplate.receiveBody(String endpointUri, long timeout, Class<T> type)
    public <T> T receiveBody(String endpointUri, long timeout, Class<T> type) {
        Object answer;
        Exchange exchange = receive(endpointUri, timeout);
        try {
            answer = extractResultBody(exchange);
            answer = camelContext.getTypeConverter().convertTo(type, exchange, answer);
        } finally {
            doneUoW(exchange);
        }
        return (T) answer;
    }
ID: 1233_1059
ClassID: 1233
File: systems/camel-java/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400MsgQueueConsumer.java
Name: org.apache.camel.component.jt400.Jt400MsgQueueConsumer.poll()
    protected int poll() throws Exception {
        Exchange exchange = receive(getEndpoint().getReadTimeout());
        if (exchange != null) {
            getProcessor().process(exchange);
            return 1;
        } else {
            return 0;
        }
    }
Pair #3799 Negative (Non-Clone)
ID: 2647_2304
ClassID: 2647
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultBeanIntrospection.java
Name: org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(CamelContext context, Object target, String name, Object value)
    public boolean setProperty(CamelContext context, Object target, String name, Object value) throws Exception {
        invoked.incrementAndGet();
        if (!preStartDone || logger.shouldLog()) {
            Object text = value;
            if (SECRETS.matcher(name).find()) {
                text = "xxxxxx";
            }
            log("setProperty", target, name, text);
        }
        return IntrospectionSupport.setProperty(context, target, name, value);
    }
ID: 467_496
ClassID: 467
File: systems/camel-java/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
Name: org.apache.camel.component.zendesk.internal.ZendeskApiCollection.ZendeskApiCollection()
    private ZendeskApiCollection() {
        final Map<String, String> aliases = new HashMap<>();
        final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new EnumMap<>(ZendeskApiName.class);
        final Map<Class<? extends ApiMethod>, ZendeskApiName> apiMethods = new HashMap<>();

        List<String> nullableArgs;

        aliases.clear();
        nullableArgs = Arrays.asList();
        apiHelpers.put(ZendeskApiName.DEFAULT, new ApiMethodHelper<>(ZendeskApiMethod.class, aliases, nullableArgs));
        apiMethods.put(ZendeskApiMethod.class, ZendeskApiName.DEFAULT);

        setApiHelpers(apiHelpers);
        setApiMethods(apiMethods);
    }
Pair #3800 Negative (Non-Clone)
ID: 3276_2654
ClassID: 3276
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.or(final Predicate left, final Predicate right)
    public static Predicate or(final Predicate left, final Predicate right) {
        notNull(left, "left");
        notNull(right, "right");
        return new Predicate() {
            public boolean matches(Exchange exchange) {
                return left.matches(exchange) || right.matches(exchange);
            }

            @Override
            public void init(CamelContext camelContext) {
                left.initPredicate(camelContext);
                right.initPredicate(camelContext);
            }

            @Override
            public String toString() {
                return "(" + left + ") or (" + right + ")";
            }
        };
    }
ID: 1317_1221
ClassID: 1317
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Kubernetes Secrets Cluster:");
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                sb.append(String.format("\n    Master Url: %s", client.getMasterUrl().toString()));
                sb.append("\n    Login: OAuth Token");
            }
            KubernetesVaultConfiguration kubernetes
                    = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
            if (kubernetes != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", kubernetes.isRefreshEnabled()));
            }
            if (secretsRefreshTask != null) {
                Instant start = secretsRefreshTask.getStartingTime();
                String s = start != null ? TimeUtils.printSince(start.toEpochMilli()) : "none";
                sb.append(String.format("\n    Running Since: %s", s));
            }
            List<String> sorted = new ArrayList<>();
            if (kubernetes != null) {
                sb.append("\n\nSecrets in use:");

                sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
                Collections.sort(sorted);
            }

            for (String sec : sorted) {
                sb.append(String.format("\n    %s", sec));
            }
        }

        return sb.toString();
    }
Pair #3801 Negative (Non-Clone)
ID: 2295_1814
ClassID: 2295
File: systems/camel-java/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
Name: org.apache.camel.component.aws2.eventbridge.EventbridgeProducer.executeOperation(Exchange exchange, Class<REQ> requestClass, Function<REQ, RES> pojoExecutor, Supplier<RES> headerExecutor, String operationName, BiConsumer<RES, Message> responseProcessor)
    private <REQ, RES> void executeOperation(
            Exchange exchange,
            Class<REQ> requestClass,
            Function<REQ, RES> pojoExecutor,
            Supplier<RES> headerExecutor,
            String operationName,
            BiConsumer<RES, Message> responseProcessor)
            throws InvalidPayloadException {

        RES result;
        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (requestClass.isInstance(payload)) {
                try {
                    result = pojoExecutor.apply(requestClass.cast(payload));
                } catch (AwsServiceException ase) {
                    LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                    throw ase;
                }
            } else {
                throw new IllegalArgumentException(
                        String.format("Expected body of type %s but was %s",
                                requestClass.getName(),
                                payload != null ? payload.getClass().getName() : "null"));
            }
        } else {
            try {
                result = headerExecutor.get();
            } catch (AwsServiceException ase) {
                LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
                throw ase;
            }
        }
        Message message = getMessageForResponse(exchange);
        message.setBody(result);
        if (responseProcessor != null) {
            responseProcessor.accept(result, message);
        }
    }
ID: 1307_1152
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesConsumer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        LOG.debug("Stopping Kubernetes Services Consumer");
        if (executor != null) {
            KubernetesHelper.close(servicesWatcher, servicesWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3802 Negative (Non-Clone)
ID: 241_306
ClassID: 241
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
Name: org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("GCP Secret Manager:");
            if (propertiesFunction.isUseDefaultInstance()) {
                sb.append("\n    Login: Default Instance");
            } else {
                sb.append("\n    Login: Service Account Key File");
            }
            GcpVaultConfiguration gcp = getCamelContext().getVaultConfiguration().getGcpVaultConfiguration();
            if (gcp != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", gcp.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", gcp.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 2584_2184
ClassID: 2584
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if (!jbangJsonFile.exists()) {
             
            return;
        }

        File file = new File(docDocDir, "camel-jbang.adoc");
        boolean exists = file.exists();
        boolean updated;
        try {
            String json = PackageHelper.loadText(jbangJsonFile);
            JBangModel model = JsonMapper.generateJBangModel(json);
            String options = evaluateTemplate("jbang-options.mvel", model);
            updated = updateOptionsIn(file, "jbang", options);
        } catch (IOException e) {
            throw new MojoExecutionException("Error preparing jbang docs", e);
        }

        if (updated) {
            getLog().info("Updated doc file: " + file);
        } else if (exists) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("No changes to doc file: " + file);
            }
        } else {
            getLog().warn("No jbang doc file: " + file);
        }
    }
Pair #3803 Negative (Non-Clone)
ID: 2444_1926
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
Name: org.apache.camel.dsl.jbang.core.commands.Debug.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
ID: 3281_2672
ClassID: 3281
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultTimeoutMap.java
Name: org.apache.camel.support.DefaultTimeoutMap.putIfAbsent(K key, V value, long timeoutMillis)
    public V putIfAbsent(K key, V value, long timeoutMillis) {
        TimeoutMapEntry<K, V> entry = new TimeoutMapEntry<>(key, value, timeoutMillis);
        TimeoutMapEntry<K, V> result = null;
        lock.lock();
        try {
            updateExpireTime(entry);
             
            result = map.putIfAbsent(key, entry);
            return unwrap(result);
        } finally {
            lock.unlock();
            if (result != entry) {
                emitEvent(Put, key, value);  
            }
        }
    }
Pair #3804 Negative (Non-Clone)
ID: 2438_1912
ClassID: 2438
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/GistHelper.java
Name: org.apache.camel.dsl.jbang.core.common.GistHelper.resolveGistAsRawFiles(String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
    private static void resolveGistAsRawFiles(
            String url, StringJoiner routes, StringJoiner kamelets, StringJoiner properties, StringJoiner all)
            throws Exception {

         
        HttpClient hc = HttpClient.newHttpClient();
        HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                HttpResponse.BodyHandlers.ofString());

        if (res.statusCode() == 200) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode root = mapper.readTree(res.body());
            for (JsonNode c : root.get("files")) {
                String name = c.get("filename").asText();
                String ext = FileUtil.onlyExt(name, false);
                if (kamelets != null && "kamelet.yaml".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    kamelets.add(u);
                } else if (properties != null && "properties".equalsIgnoreCase(ext)) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    properties.add(u);
                } else if (routes != null) {
                    if ("java".equalsIgnoreCase(ext) || "xml".equalsIgnoreCase(ext)
                            || "yaml".equalsIgnoreCase(ext) || "camel.yaml".equalsIgnoreCase(ext)) {
                        String rawUrl = c.get("raw_url").asText();
                        String u = asGistSingleUrl(rawUrl);
                        routes.add(u);
                    }
                } else if (all != null) {
                    String rawUrl = c.get("raw_url").asText();
                    String u = asGistSingleUrl(rawUrl);
                    all.add(u);
                }
            }
        }
    }
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
Pair #3805 Negative (Non-Clone)
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #3806 Negative (Non-Clone)
ID: 2670_2358
ClassID: 2670
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
Name: org.apache.camel.processor.aggregate.AggregateProcessor.forceCompletionOfGroup(String key)
    public int forceCompletionOfGroup(String key) {
         
        int total = 0;

        lock.lock();
        try {
            Exchange exchange = aggregationRepository.get(camelContext, key);
            if (exchange != null) {
                total = 1;
                LOG.trace("Force completion triggered for correlation key: {}", key);
                 
                exchange.setProperty(ExchangePropertyKey.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                Exchange answer = onCompletion(key, exchange, exchange, false, false);
                if (answer != null) {
                    onSubmitCompletion(key, answer);
                }
            }
        } finally {
            lock.unlock();
        }
        LOG.trace("Completed force completion of group {}", key);

        if (total > 0) {
            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
        }
        return total;
    }
ID: 2602_2223
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShortOrDefault(final String key, final short defaultValue)
    public Short getShortOrDefault(final String key, final short defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #3807 Negative (Non-Clone)
ID: 3169_2435
ClassID: 3169
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.reset(boolean includeRoutes)
    public void reset(boolean includeRoutes) throws Exception {
        reset();
        load.reset();
        thp.reset();

         
        if (includeRoutes) {
            MBeanServer server = getContext().getManagementStrategy().getManagementAgent().getMBeanServer();
            if (server != null) {
                String prefix = getContext().getManagementStrategy().getManagementAgent().getIncludeHostName() ? "*/" : "";
                ObjectName query = ObjectName
                        .getInstance(jmxDomain + ":context=" + prefix + getContext().getManagementName() + ",type=routes,*");
                Set<ObjectName> names = server.queryNames(query, null);
                for (ObjectName name : names) {
                    server.invoke(name, "reset", new Object[] { true }, new String[] { "boolean" });
                }
            }
        }
    }
ID: 2462_1968
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelTraceAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #3808 Negative (Non-Clone)
ID: 898_758
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent.getClient(GoogleCalendarStreamConfiguration config)
    public Calendar getClient(GoogleCalendarStreamConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && config.getClientSecret() != null) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Gmail client");
            }
        }
        return client;
    }
ID: 409_438
ClassID: 409
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.setupJacksonXml(CamelContext camelContext, RestConfiguration config, String type, Class<?> typeClass, String outType, Class<?> outTypeClass, DataFormat xml, DataFormat outXml)
    public void setupJacksonXml(
            CamelContext camelContext, RestConfiguration config,
            String type, Class<?> typeClass, String outType, Class<?> outTypeClass,
            DataFormat xml, DataFormat outXml)
            throws Exception {
         
        PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer("jacksonXml-dataformat-configurer", camelContext);
        if (configurer == null) {
            throw new IllegalStateException("Cannot find configurer for dataformat: jacksonXml");
        }

         
         
         

        PropertyBindingSupport.Builder builder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(xml);

        final String typeName = getTypeName(type, typeClass);
        if (typeName != null) {
            builder.withProperty("unmarshalTypeName", typeName);
        }

        setAdditionalConfiguration(config, "xml.in.", builder);
        builder.bind();

         
         
         

        PropertyBindingSupport.Builder outBuilder = PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withConfigurer(configurer)
                .withTarget(outXml);

        final String outTypeName = getOutTypeName(outType, outTypeClass, typeName);

        if (outTypeName != null) {
            outBuilder.withProperty("unmarshalTypeName", outTypeName);
        }

        setAdditionalConfiguration(config, "xml.out.", outBuilder);
        outBuilder.bind();
    }
Pair #3809 Negative (Non-Clone)
ID: 1041_904
ClassID: 1041
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.loadResource(String resourceUri)
    protected void loadResource(String resourceUri) throws TransformerException, IOException {
        LOG.trace("{} loading schema resource: {}", this, resourceUri);
        Source source = xslt.getUriResolver().resolve(resourceUri, null);
        if (source == null) {
            throw new IOException("Cannot load schema resource " + resourceUri);
        } else {
            xslt.setTransformerSource(source);
        }
    }
ID: 1309_1165
ClassID: 1309
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAConsumer.java
Name: org.apache.camel.component.kubernetes.hpa.KubernetesHPAConsumer.eventReceived(Action action, HorizontalPodAutoscaler resource)
                public void eventReceived(Action action, HorizontalPodAutoscaler resource) {
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(resource);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, action);
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }
Pair #3810 Negative (Non-Clone)
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
ID: 437_453
ClassID: 437
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.initChannel(Channel ch)
    protected void initChannel(Channel ch) throws Exception {
         
        ChannelPipeline channelPipeline = ch.pipeline();

        SslHandler sslHandler = configureServerSSLOnDemand();
        if (sslHandler != null) {
             
             
            LOG.debug("Server SSL handler configured and added as an interceptor against the ChannelPipeline: {}", sslHandler);
            addToPipeline("ssl", channelPipeline, sslHandler);
        }

        List<ChannelHandler> encoders = consumer.getConfiguration().getEncodersAsList();
        for (int x = 0; x < encoders.size(); x++) {
            ChannelHandler encoder = encoders.get(x);
            if (encoder instanceof ChannelHandlerFactory) {
                 
                encoder = ((ChannelHandlerFactory) encoder).newChannelHandler();
            }
            addToPipeline("encoder-" + x, channelPipeline, encoder);
        }

        List<ChannelHandler> decoders = consumer.getConfiguration().getDecodersAsList();
        for (int x = 0; x < decoders.size(); x++) {
            ChannelHandler decoder = decoders.get(x);
            if (decoder instanceof ChannelHandlerFactory) {
                 
                decoder = ((ChannelHandlerFactory) decoder).newChannelHandler();
            }
            addToPipeline("decoder-" + x, channelPipeline, decoder);
        }

        if (consumer.getConfiguration().isUsingExecutorService()) {
             
            EventExecutorGroup applicationExecutor = consumer.getEndpoint().getComponent().getExecutorService();
            addToPipeline("handler", channelPipeline, applicationExecutor, new ServerChannelHandler(consumer));
        } else {
             
            addToPipeline("handler", channelPipeline, new ServerChannelHandler(consumer));

        }
        LOG.trace("Created ChannelPipeline: {}", channelPipeline);
    }
Pair #3811 Negative (Non-Clone)
ID: 3164_2424
ClassID: 3164
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoutingSlip.java
Name: org.apache.camel.management.mbean.ManagedRoutingSlip.extendedInformation()
    public TabularData extendedInformation() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());

            EndpointUtilizationStatistics stats = getProcessor().getEndpointUtilizationStatistics();
            if (stats != null) {
                for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
                    CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
                    String url = entry.getKey();
                    if (sanitize) {
                        url = URISupport.sanitizeUri(url);
                    }

                    Long hits = entry.getValue();
                    if (hits == null) {
                        hits = 0L;
                    }

                    CompositeData data
                            = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
                    answer.put(data);
                }
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1837_1496
ClassID: 1837
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
Name: org.apache.camel.component.ssh.SshProducer.doStart()
    protected void doStart() throws Exception {
        if (this.endpoint.getConfiguration() == null || this.endpoint.getConfiguration().getClientBuilder() == null) {
            client = SshClient.setUpDefaultClient();
        } else {
            client = this.endpoint.getConfiguration().getClientBuilder().build(true);
        }
        SshConfiguration configuration = endpoint.getConfiguration();
        configureAlgorithms(configuration, client);
        client.start();

        super.doStart();
    }
Pair #3812 Negative (Non-Clone)
ID: 689_628
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doDelete(Exchange exchange, String tableName)
    private void doDelete(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Delete on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Delete delete = table.newDelete();
        PartialRow row = delete.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            ColumnSchema column = table.getSchema().getColumn(colName);
            if (column != null && column.isKey()) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(delete);
    }
ID: 3100_2374
ClassID: 3100
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/rest/ParamDefinition.java
Name: org.apache.camel.model.rest.ParamDefinition.getAllowableValuesAsStringList()
    public List<String> getAllowableValuesAsStringList() {
        if (allowableValues == null) {
            return Collections.emptyList();
        } else {
            List<String> answer = new ArrayList<>();
            for (ValueDefinition v : allowableValues) {
                answer.add(v.getValue());
            }
            return answer;
        }
    }
Pair #3813 Negative (Non-Clone)
ID: 1108_943
ClassID: 1108
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-functiongraph/src/main/java/org/apache/camel/FunctionGraphEndpoint.java
Name: org.apache.camel.FunctionGraphEndpoint.initClient()
    public FunctionGraphClient initClient() {
        if (functionGraphClient != null) {
            return functionGraphClient;
        }

         
        BasicCredentials auth = new BasicCredentials()
                .withAk(getServiceKeys() != null
                        ? getServiceKeys().getAccessKey()
                        : getAccessKey())
                .withSk(getServiceKeys() != null
                        ? getServiceKeys().getSecretKey()
                        : getSecretKey())
                .withProjectId(getProjectId());

         
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();
        httpConfig.withIgnoreSSLVerification(isIgnoreSslVerification());
        if (ObjectHelper.isNotEmpty(getProxyHost())
                && ObjectHelper.isNotEmpty(getProxyPort())) {
            httpConfig.withProxyHost(getProxyHost())
                    .withProxyPort(getProxyPort());

            if (ObjectHelper.isNotEmpty(getProxyUser())) {
                httpConfig.withProxyUsername(getProxyUser());
                if (ObjectHelper.isNotEmpty(getProxyPassword())) {
                    httpConfig.withProxyPassword(getProxyPassword());
                }
            }
        }

         
        if (ObjectHelper.isNotEmpty(getEndpoint())) {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withEndpoint(getEndpoint())
                    .build();
        } else {
            return FunctionGraphClient.newBuilder()
                    .withCredential(auth)
                    .withHttpConfig(httpConfig)
                    .withRegion(FunctionGraphRegion.valueOf(getRegion()))
                    .build();
        }
    }
ID: 2024_1641
ClassID: 2024
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java
Name: org.apache.camel.component.jms.reply.QueueReplyManager.handleReplyMessage(String correlationID, Message message, Session session)
    protected void handleReplyMessage(String correlationID, Message message, Session session) {
        ReplyHandler handler = correlation.remove(correlationID);
        if (handler == null && endpoint.isUseMessageIDAsCorrelationID()) {
            handler = waitForProvisionCorrelationToBeUpdated(correlationID, message);
        }

        if (handler != null) {
            handler.onReply(correlationID, message, session);
        } else {
             
             
             
            log.warn(
                    "Reply received for unknown correlationID [{}] on reply destination [{}]. Current correlation map size: {}. The message will be ignored: {}",
                    correlationID, replyTo, correlation.size(), message);
        }
    }
Pair #3814 Negative (Non-Clone)
ID: 2386_1880
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onReply(int num, String value, String msg)
        public void onReply(int num, String value, String msg) {
            if (configuration.isOnReply()) {
                Exchange exchange = createOnReplyExchange(num, value, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
Pair #3815 Negative (Non-Clone)
ID: 3216_2496
ClassID: 3216
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/startup/LoggingStartupStepRecorder.java
Name: org.apache.camel.support.startup.LoggingStartupStepRecorder.logStep(StartupStep step)
    protected String logStep(StartupStep step) {
        long delta = step.getDuration();
        String pad = StringHelper.padString(step.getLevel());
        String out = String.format("%s", pad + step.getType());
        String out2 = String.format("%6s ms", delta);
        String out3;
        if (step.getName() != null) {
            out3 = String.format("%s(%s)", step.getDescription(), step.getName());
        } else {
            out3 = step.getDescription();
        }
        return String.format("%s : %s - %s", out2, out, out3);
    }
ID: 2652_2316
ClassID: 2652
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
Name: org.apache.camel.model.dataformat.BindyDataFormat.getDataFormatName()
    public String getDataFormatName() {
        if ("Csv".equals(type)) {
            return "bindyCsv";
        } else if ("Fixed".equals(type)) {
            return "bindyFixed";
        } else {
            return "bindyKvp";
        }
    }
Pair #3816 Negative (Non-Clone)
ID: 3246_2580
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFluentProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean.getObject()
    public FluentProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultFluentProducerTemplate(context);
                template.setDefaultEndpoint(endpoint);
            }
        } else {
            template = new DefaultFluentProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
Pair #3817 Negative (Non-Clone)
ID: 2607_2237
ClassID: 2607
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithFields(Class<?> clazz, FieldCallback fc)
    public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
         
        Class<?> targetClass = clazz;
        do {
            Field[] fields = targetClass.getDeclaredFields();
            for (Field field : fields) {
                try {
                    fc.doWith(field);
                } catch (IllegalAccessException ex) {
                    throw new IllegalStateException("Shouldn't be illegal to access field '" + field.getName() + "': " + ex);
                }
            }
            targetClass = targetClass.getSuperclass();
        } while (targetClass != null && targetClass != Object.class);
    }
ID: 49_62
ClassID: 49
File: systems/camel-java/components/camel-ai/camel-openai/src/main/java/org/apache/camel/component/openai/OpenAIComponent.java
Name: org.apache.camel.component.openai.OpenAIComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        OpenAIConfiguration configuration = new OpenAIConfiguration();

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (baseUrl != null) {
            configuration.setBaseUrl(baseUrl);
        }
        if (model != null) {
            configuration.setModel(model);
        }

        OpenAIEndpoint endpoint = new OpenAIEndpoint(uri, this, configuration);
         
        endpoint.setOperation(remaining);
        setProperties(endpoint, parameters);

        return endpoint;
    }
Pair #3818 Negative (Non-Clone)
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 3292_2694
ClassID: 3292
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextClientParameters.java
Name: org.apache.camel.support.jsse.SSLContextClientParameters.toString()
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("SSLContextClientParameters[getCipherSuites()=");
        builder.append(getCipherSuites());
        builder.append(", getCipherSuitesFilter()=");
        builder.append(getCipherSuitesFilter());
        builder.append(", getSecureSocketProtocols()=");
        builder.append(getSecureSocketProtocols());
        builder.append(", getSecureSocketProtocolsFilter()=");
        builder.append(getSecureSocketProtocolsFilter());
        builder.append(", getSessionTimeout()=");
        builder.append(getSessionTimeout());
        builder.append("]");
        return builder.toString();
    }
Pair #3819 Negative (Non-Clone)
ID: 342_397
ClassID: 342
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/processor/resume/kafka/KafkaResumeStrategyConfigurationBuilder.java
Name: org.apache.camel.processor.resume.kafka.KafkaResumeStrategyConfigurationBuilder.newEmptyBuilder()
    public static KafkaResumeStrategyConfigurationBuilder newEmptyBuilder() {
        final Properties producerProperties = new Properties();
        final Properties consumerProperties = new Properties();

        KafkaResumeStrategyConfigurationBuilder builder = new KafkaResumeStrategyConfigurationBuilder(
                producerProperties,
                consumerProperties);

        String groupId = UUID.randomUUID().toString();
        LOG.debug("Creating consumer with {}[{}]", ConsumerConfig.GROUP_ID_CONFIG, groupId);
        builder.withGroupId(groupId);
        builder.withEnableAutoCommit(true);

        return builder;
    }
ID: 3112_2402
ClassID: 3112
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithBuilder.java
Name: org.apache.camel.builder.AdviceWithBuilder.after()
    public ProcessorDefinition<?> after() {
        RouteDefinition route = builder.getOriginalRoute();
        AdviceWithDefinition answer = new AdviceWithDefinition();
        if (id != null) {
            builder.getAdviceWithTasks()
                    .add(AdviceWithTasks.afterById(route, id, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (toString != null) {
            builder.getAdviceWithTasks().add(AdviceWithTasks.afterByToString(route, toString, answer, selectFirst, selectLast,
                    selectFrom, selectTo, maxDeep));
        } else if (toUri != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByToUri(route, toUri, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        } else if (type != null) {
            builder.getAdviceWithTasks().add(
                    AdviceWithTasks.afterByType(route, type, answer, selectFirst, selectLast, selectFrom, selectTo, maxDeep));
        }
        return answer;
    }
Pair #3820 Negative (Non-Clone)
ID: 2464_1974
ClassID: 2464
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.tailReceiveFiles(Map<Long, Pid> pids, int tail)
    private void tailReceiveFiles(Map<Long, Pid> pids, int tail) throws Exception {
        for (Pid pid : pids.values()) {
            Path file = getReceiveFile(pid.pid);
            if (Files.exists(file) && Files.size(file) > 0) {
                pid.reader = new LineNumberReader(Files.newBufferedReader(file));
                String line;
                if (tail <= 0) {
                    pid.fifo = new ArrayDeque<>();
                } else {
                    pid.fifo = new ArrayBlockingQueue<>(tail);
                }
                do {
                    line = pid.reader.readLine();
                    if (line != null) {
                        while (!pid.fifo.offer(line)) {
                            pid.fifo.poll();
                        }
                    }
                } while (line != null);
            }
        }
    }
ID: 27_50
ClassID: 27
File: systems/camel-java/components/camel-rss/src/generated/java/org/apache/camel/dataformat/rss/RssConverterLoader.java
Name: org.apache.camel.dataformat.rss.RssConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, com.rometools.rome.feed.synd.SyndFeed.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.xmlToFeed((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, com.rometools.rome.feed.synd.SyndFeed.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.dataformat.rss.RssConverter.feedToXml((com.rometools.rome.feed.synd.SyndFeed) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
Pair #3821 Negative (Non-Clone)
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
ID: 3250_2596
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRestRefs()
    protected void initRestRefs() throws Exception {
         
        if (getRestRefs() != null) {
            for (RestContextRefDefinition ref : getRestRefs()) {
                List<RestDefinition> defs = ref.lookupRests(getContext());
                for (RestDefinition def : defs) {
                    LOG.debug("Adding rest from {} -> {}", ref, def);
                     
                     
                    getRests().add(0, def);
                }
            }
        }
    }
Pair #3822 Negative (Non-Clone)
ID: 1916_1584
ClassID: 1916
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/ReplicatedHazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.ReplicatedHazelcastAggregationRepository.remove(CamelContext camelContext, String key, Exchange exchange)
    public void remove(CamelContext camelContext, String key, Exchange exchange) {
        DefaultExchangeHolder holder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
        if (optimistic) {
            LOG.trace("Removing an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (!replicatedCache.remove(key, holder)) {
                LOG.error(
                        "Optimistic locking failed for exchange with key {}: IMap#remove removed no Exchanges, while it's expected to remove one.",
                        key);
                throw new OptimisticLockingException();
            }
            LOG.trace("Removed an exchange with ID {} for key {} in an optimistic manner.", exchange.getExchangeId(), key);
            if (useRecovery) {
                LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
                replicatedPersistedCache.put(exchange.getExchangeId(), holder);
                LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in an optimistic manner.",
                        exchange.getExchangeId(), key);
            }
        } else {
            if (useRecovery) {
                LOG.trace("Removing an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
                 
                 
                 
                TransactionOptions tOpts = new TransactionOptions();

                tOpts.setTransactionType(TransactionOptions.TransactionType.ONE_PHASE);
                TransactionContext tCtx = hazelcastInstance.newTransactionContext(tOpts);

                try {
                    tCtx.beginTransaction();

                    TransactionalMap<String, DefaultExchangeHolder> tCache = tCtx.getMap(mapName);
                    TransactionalMap<String, DefaultExchangeHolder> tPersistentCache = tCtx.getMap(persistenceMapName);

                    DefaultExchangeHolder removedHolder = tCache.remove(key);
                    LOG.trace("Putting an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                    tPersistentCache.put(exchange.getExchangeId(), removedHolder);

                    tCtx.commitTransaction();
                    LOG.trace("Removed an exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(),
                            key);
                    LOG.trace("Put an exchange with ID {} for key {} into a recoverable storage in a thread-safe manner.",
                            exchange.getExchangeId(), key);
                } catch (Exception throwable) {
                    tCtx.rollbackTransaction();

                    final String msg = String.format(
                            "Transaction with ID %s was rolled back for remove operation with a key %s and an Exchange ID %s.",
                            tCtx.getTxnId(), key, exchange.getExchangeId());
                    LOG.warn(msg, throwable);
                    throw new RuntimeCamelException(msg, throwable);
                }
            } else {
                replicatedCache.remove(key);
            }
        }
    }
ID: 174_138
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.getBatch(String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback)
    public void getBatch(
            String jobId, String batchId, Map<String, List<String>> headers, final BatchInfoResponseCallback callback) {
        final Request get = getRequest(HttpMethod.GET, batchUrl(jobId, batchId), headers);

         
        doHttpRequest(get, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                BatchInfo value = null;
                try {
                    value = unmarshalResponse(response, get, BatchInfo.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
Pair #3823 Negative (Non-Clone)
ID: 2614_2262
ClassID: 2614
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.generateJBangModel(JsonObject obj)
    public static JBangModel generateJBangModel(JsonObject obj) {
        JBangModel model = new JBangModel();
        JsonArray mgrp = (JsonArray) obj.get("groups");
        for (Object entry : mgrp) {
            JsonObject mg = (JsonObject) entry;
            JBangGroupModel group = new JBangGroupModel();
            parseGroup(mg, group);
            model.addGroup(group);
        }
        JsonArray mprp = (JsonArray) obj.get("properties");
        for (Object entry : mprp) {
            JsonObject mp = (JsonObject) entry;
            JBangOptionModel option = new JBangOptionModel();
            parseOption(mp, option, mp.getString("name"));
            option.setSourceType(mp.getString("sourceType"));
            model.addOption(option);
        }
        return model;
    }
ID: 2532_2108
ClassID: 2532
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPeriodTaskResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderPeriodTaskResolver.newInstance(String key, Class<T> type)
    public <T> Optional<T> newInstance(String key, Class<T> type) {
        maybeDownload(key);

        if (export && skip(key)) {
            return Optional.empty();
        }

        Optional<T> answer = super.newInstance(key, type);
        if (answer.isEmpty()) {
             
            final FactoryFinder finder
                    = camelContext.getCamelContextExtension().getFactoryFinder(PeriodTaskResolver.RESOURCE_PATH);
            T obj = ResolverHelper.resolveService(camelContext, finder, key, type).orElse(null);
            return Optional.ofNullable(obj);
        }
        return answer;
    }
Pair #3824 Negative (Non-Clone)
ID: 837_721
ClassID: 837
File: systems/camel-java/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
Name: org.apache.camel.component.aws2.sns.Sns2Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        HashMap<String, String> metadata = new HashMap<>();
        if (configuration.getQueueArn() != null) {
            metadata.put("queueArn", configuration.getQueueArn());
        }
        if (configuration.getTopicArn() != null) {
            metadata.put("topicArn", configuration.getTopicArn());
        }
        return metadata;
    }
ID: 2386_1882
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPrivmsg(String target, IRCUser user, String msg)
        public void onPrivmsg(String target, IRCUser user, String msg) {
            if (configuration.isOnPrivmsg()) {
                Exchange exchange = createOnPrivmsgExchange(target, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3825 Negative (Non-Clone)
ID: 443_467
ClassID: 443
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    configuration.getPassphrase().toCharArray());
        }

        return answer;
    }
ID: 2286_1801
ClassID: 2286
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.getVectors(S3VectorsClient client, Exchange exchange)
    private void getVectors(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

         
        Object vectorIdsObj = message.getHeader(AWS2S3VectorsConstants.VECTOR_ID);
        if (vectorIdsObj == null) {
            vectorIdsObj = message.getBody();
        }

        List<String> vectorIds = convertToStringList(vectorIdsObj);

         
        GetVectorsRequest request = GetVectorsRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .keys(vectorIds)
                .build();

        LOG.trace("Getting vectors [{}] from bucket [{}] index [{}]", vectorIds, vectorBucketName, vectorIndexName);
        GetVectorsResponse response = client.getVectors(request);
        LOG.trace("Get vectors response: {}", response);

        message.setBody(response.vectors());
    }
Pair #3826 Negative (Non-Clone)
ID: 2599_2216
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getString(final int index)
    public String getString(final int index) {
        Object returnable = this.get(index);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
ID: 697_636
ClassID: 697
File: systems/camel-java/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisProducer.java
Name: org.apache.camel.component.mybatis.MyBatisProducer.doUpdateList(Exchange exchange, SqlSession session)
    private void doUpdateList(Exchange exchange, SqlSession session) {
        Object result;
        Object in = getInput(exchange);
        if (in != null) {
             
            LOG.trace("Updating: {} using statement: {}", in, statement);
            result = session.update(statement, in);
            doProcessResult(exchange, result, session);
        } else {
            LOG.trace("Updating using statement: {}", statement);
            result = session.update(statement);
            doProcessResult(exchange, result, session);
        }
    }
Pair #3827 Negative (Non-Clone)
ID: 51_64
ClassID: 51
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
Name: org.apache.camel.component.file.remote.SftpOperations.forceDisconnect()
    public void forceDisconnect() throws GenericFileOperationFailedException {
        lock.lock();
        try {
            if (session != null) {
                session.disconnect();
            }
            if (channel != null) {
                channel.disconnect();
            }
        } finally {
             
            session = null;
            channel = null;
            lock.unlock();
        }
    }
ID: 1983_1624
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.validate(AiMessage aiMessage)
    public OutputGuardrailResult validate(AiMessage aiMessage) {
        if (aiMessage == null || aiMessage.text() == null) {
            return fatal("AI response cannot be null or empty");
        }

        String text = aiMessage.text().trim();
        int wordCount = countWords(text);

        if (wordCount < minWords) {
            return retry(String.format(
                    "Response too brief: %d words (minimum: %d). Please provide a more detailed response.",
                    wordCount, minWords));
        }

        if (wordCount > maxWords) {
            return retry(String.format(
                    "Response too verbose: %d words (maximum: %d). Please provide a more concise response.",
                    wordCount, maxWords));
        }

        return success();
    }
Pair #3828 Negative (Non-Clone)
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
ID: 1477_1316
ClassID: 1477
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        final String name = publishedUriToStream.computeIfAbsent(uri, camelUri -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();

                RouteBuilder.addRoutes(context, rb -> rb.from(camelUri).to("reactive-streams:" + uuid));

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });

        return fromStream(name);
    }
Pair #3829 Negative (Non-Clone)
ID: 1807_1486
ClassID: 1807
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeRestartContainerRequest(DockerClient client, Message message)
    private RestartContainerCmd executeRestartContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Restart Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);

        RestartContainerCmd restartContainerCmd = client.restartContainerCmd(containerId);

        Integer timeout = DockerHelper.getProperty(DockerConstants.DOCKER_TIMEOUT, configuration, message, Integer.class);

        if (timeout != null) {
            restartContainerCmd.withtTimeout(timeout);
        }

        return restartContainerCmd;

    }
ID: 1838_1499
ClassID: 1838
File: systems/camel-java/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshUtils.java
Name: org.apache.camel.component.ssh.SshUtils.configureCompressions(String names, AbstractFactoryManager factoryManager)
    public static void configureCompressions(String names, AbstractFactoryManager factoryManager) {
        if (isBlank(names)) {
            return;
        }
        Set<BuiltinCompressions> builtIn = BuiltinCompressions.VALUES;
        Set<CompressionFactory> registered = BuiltinCompressions.getRegisteredExtensions();
        Set<CompressionFactory> allCompressionFactories = new HashSet<>();
        allCompressionFactories.addAll(builtIn);
        allCompressionFactories.addAll(registered);
        List<NamedFactory<Compression>> avail = (List) NamedFactory.setUpBuiltinFactories(false, allCompressionFactories);
        factoryManager.setCompressionFactories(filter(Compression.class, avail, names.split(",")));
    }
Pair #3830 Negative (Non-Clone)
ID: 348_399
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.modifyRecord(Exchange exchange)
    private void modifyRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke(HttpMethod.PUT, in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 1034_886
ClassID: 1034
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpression.java
Name: org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "netty-http")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }
Pair #3831 Negative (Non-Clone)
ID: 1060_910
ClassID: 1060
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java
Name: org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat.decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument)
    private Object decodeWithAsymmetricKey(Exchange exchange, Document encodedDocument) throws Exception {

        if (keyStore == null && null != keyOrTrustStoreParameters) {
            keyStore = keyOrTrustStoreParameters.createKeyStore();
            keyStorePassword = keyOrTrustStoreParameters.getPassword();
        }

        if (this.keyStore == null) {
            throw new IllegalStateException("A key store must be defined for asymmetric key decryption.");
        }

        PrivateKey keyEncryptionKey = getPrivateKey(this.keyStore, this.recipientKeyAlias,
                this.keyPassword != null ? this.keyPassword : this.keyStorePassword);
        Object ret = null;
        try {
            ret = decode(exchange, encodedDocument, keyEncryptionKey, true);
        } catch (org.apache.xml.security.encryption.XMLEncryptionException ex) {
            if (ex.getMessage().equals("encryption.nokey")) {
                 
                ret = decode(exchange, encodedDocument, keyEncryptionKey, false);
            } else {
                throw ex;
            }
        }

         
        try {
            keyEncryptionKey.destroy();
        } catch (javax.security.auth.DestroyFailedException ex) {
            LOG.debug("Error destroying key: {}", ex.getMessage());
        }

        return ret;
    }
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
Pair #3832 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
Pair #3833 Negative (Non-Clone)
ID: 2645_2299
ClassID: 2645
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java
Name: org.apache.camel.impl.engine.PooledProcessorExchangeFactory.createCopy(Exchange exchange)
    public Exchange createCopy(Exchange exchange) {
        Exchange answer = pool.poll();
        if (answer == null) {
            if (statisticsEnabled) {
                statistics.created.increment();
            }
             
            answer = new DefaultPooledExchange(exchange);
        } else {
            if (statisticsEnabled) {
                statistics.acquired.increment();
            }
        }

         
        ((ResetableClock) exchange.getClock()).reset();
        ExchangeHelper.copyResults(answer, exchange);
        return answer;
    }
ID: 658_593
ClassID: 658
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/producer/ServerProducer.java
Name: org.apache.camel.component.openstack.nova.producer.ServerProducer.messageToServer(Message message)
    private ServerCreate messageToServer(Message message) {
        ServerCreate serverCreate = message.getBody(ServerCreate.class);

        if (serverCreate == null) {
            Map headers = message.getHeaders();
            ServerCreateBuilder builder = Builders.server();

            StringHelper.notEmpty(message.getHeader(OpenstackConstants.NAME, String.class), "Name");
            builder.name(message.getHeader(OpenstackConstants.NAME, String.class));

            if (headers.containsKey(NovaConstants.IMAGE_ID)) {
                builder.image(message.getHeader(NovaConstants.IMAGE_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.NETWORK)) {
                builder.networks(message.getHeader(NovaConstants.NETWORK, List.class));
            }

            if (headers.containsKey(NovaConstants.FLAVOR_ID)) {
                builder.flavor(message.getHeader(NovaConstants.FLAVOR_ID, String.class));
            }

            if (headers.containsKey(NovaConstants.KEYPAIR_NAME)) {
                builder.keypairName(message.getHeader(NovaConstants.KEYPAIR_NAME, String.class));
            }

            if (headers.containsKey(NovaConstants.ADMIN_PASSWORD)) {
                builder.addAdminPass(message.getHeader(NovaConstants.ADMIN_PASSWORD, String.class));
            }

            serverCreate = builder.build();
        }
        return serverCreate;
    }
Pair #3834 Negative (Non-Clone)
ID: 3165_2427
ClassID: 3165
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
Name: org.apache.camel.management.mbean.ManagedTransformerRegistry.listTransformers()
    public TabularData listTransformers() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTransformersTabularType());
            Collection<Transformer> transformers = transformerRegistry.values();
            for (Transformer transformer : transformers) {
                CompositeType ct = CamelOpenMBeanTypes.listTransformersCompositeType();
                String name = transformer.getName();
                DataType from = transformer.getFrom();
                DataType to = transformer.getTo();
                String desc = transformer.toString();
                boolean fromStatic
                        = name != null ? transformerRegistry.isStatic(name) : transformerRegistry.isStatic(from, to);
                boolean fromDynamic
                        = name != null ? transformerRegistry.isDynamic(name) : transformerRegistry.isDynamic(from, to);

                CompositeData data = new CompositeDataSupport(
                        ct, new String[] { "name", "from", "to", "static", "dynamic", "description" },
                        new Object[] { name, from.toString(), to.toString(), fromStatic, fromDynamic, desc });
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 2453_1947
ClassID: 2453
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getType(Object kamelet)
    private static String getType(Object kamelet) throws Exception {
        Method m = kamelet.getClass().getMethod("getMetadata");
        Object meta = ObjectHelper.invokeMethod(m, kamelet);
        m = meta.getClass().getMethod("getLabels");
        @SuppressWarnings("unchecked")
        Map<String, String> labels = (Map<String, String>) ObjectHelper.invokeMethod(m, meta);
        if (labels != null) {
            return labels.get("camel.apache.org/kamelet.type");
        }
        return null;
    }
Pair #3835 Negative (Non-Clone)
ID: 2247_1772
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryRemovedEvent<?, ?> event)
    public void processEvent(CacheEntryRemovedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                        e.getMessage().setHeader(InfinispanConstants.OLD_VALUE, event.getOldValue());
                    });
        }
    }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #3836 Negative (Non-Clone)
ID: 1371_1239
ClassID: 1371
File: systems/camel-java/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
Name: org.apache.camel.dataformat.protobuf.ProtobufDataFormat.loadDefaultInstance(final String className, final CamelContext context)
    protected Message loadDefaultInstance(final String className, final CamelContext context)
            throws CamelException, ClassNotFoundException {
        Class<?> instanceClass = context.getClassResolver().resolveMandatoryClass(className);
        if (Message.class.isAssignableFrom(instanceClass)) {
            try {
                Method method = instanceClass.getMethod("getDefaultInstance");
                return (Message) method.invoke(null);
            } catch (final Exception ex) {
                throw new CamelException(
                        "Can't set the defaultInstance of ProtobufferDataFormat with " + className + ", caused by " + ex);
            }
        } else {
            throw new CamelException(
                    "Can't set the defaultInstance of ProtobufferDataFormat with " + className
                                     + ", as the class is not a subClass of com.google.protobuf.Message");
        }
    }
ID: 3219_2502
ClassID: 3219
File: systems/camel-java/core/camel-base/src/main/java/org/apache/camel/component/properties/EnvPropertiesFunction.java
Name: org.apache.camel.component.properties.EnvPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String defaultValue = null;

        if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
        }

        String value = IOHelper.lookupEnvironmentVariable(key);
        return value != null ? value : defaultValue;
    }
Pair #3837 Negative (Non-Clone)
ID: 184_175
ClassID: 184
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultRestClient.query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback)
    public void query(String soqlQuery, Map<String, List<String>> headers, ResponseCallback callback) {
        try {

            String encodedQuery = urlEncode(soqlQuery);
            final Request get = getRequest(HttpMethod.GET, versionUrl() + "query/?q=" + encodedQuery, headers);

             
            setAccessToken(get);

            doHttpRequest(get, new DelegatingClientCallback(callback));

        } catch (UnsupportedEncodingException e) {
            String msg = "Unexpected error: " + e.getMessage();
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(msg, e));
        }
    }
ID: 1548_1368
ClassID: 1548
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscovery.java
Name: org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscovery.doStart()
    protected void doStart() throws Exception {
        if (curator == null) {
             
            ObjectHelper.notNull(getCamelContext(), "Camel Context");
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper Curator with namespace '{}',  nodes: '{}'",
                    configuration.getNamespace(),
                    String.join(",", configuration.getNodes()));

            curator = ZooKeeperCuratorHelper.createCurator(configuration);
            curator.start();
        }

        if (serviceDiscovery == null) {
             
            ObjectHelper.notNull(configuration.getBasePath(), "ZooKeeper base path");

            LOGGER.debug("Starting ZooKeeper ServiceDiscoveryBuilder with base path '{}'",
                    configuration.getBasePath());

            serviceDiscovery = ZooKeeperCuratorHelper.createServiceDiscovery(configuration, curator, MetaData.class);
            serviceDiscovery.start();
        }

        super.doStart();
    }
Pair #3838 Negative (Non-Clone)
ID: 189_202
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processGetQueryJob(Exchange exchange, AsyncCallback callback)
    private void processGetQueryJob(Exchange exchange, AsyncCallback callback)
            throws SalesforceException {
        QueryJob job = exchange.getIn().getBody(QueryJob.class);
        String jobId;
        if (job != null) {
            jobId = job.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryJob(jobId, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
ID: 3335_2735
ClassID: 3335
File: systems/camel-java/core/camel-util/src/main/java/org/apache/camel/util/function/Suppliers.java
Name: org.apache.camel.util.function.Suppliers.firstNotNull(ThrowingSupplier<T, Exception>... suppliers)
    public static <T> Optional<T> firstNotNull(ThrowingSupplier<T, Exception>... suppliers) throws Exception {
        T answer = null;

        for (ThrowingSupplier<T, Exception> supplier : suppliers) {
            answer = supplier.get();
            if (answer != null) {
                break;
            }
        }

        return Optional.ofNullable(answer);
    }
Pair #3839 Negative (Non-Clone)
ID: 1550_1372
ClassID: 1550
File: systems/camel-java/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperProducer.java
Name: org.apache.camel.component.zookeeper.ZooKeeperProducer.synchronouslySetData(ProductionContext ctx)
    private OperationResult synchronouslySetData(ProductionContext ctx) throws Exception {

        SetDataOperation setData = new SetDataOperation(ctx.connection, ctx.node, ctx.payload);
        setData.setVersion(ctx.version);

        OperationResult result = setData.get();

        if (!result.isOk() && configuration.isCreate() && result.failedDueTo(Code.NONODE)) {
            LOG.warn("Node '{}' did not exist, creating it.", ctx.node);
            result = createNode(ctx);
        }
        return result;
    }
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
Pair #3840 Negative (Non-Clone)
ID: 1137_973
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/AbstractGitHubProducer.java
Name: org.apache.camel.component.github.producer.AbstractGitHubProducer.AbstractGitHubProducer(GitHubEndpoint endpoint)
    protected AbstractGitHubProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);
        this.endpoint = endpoint;

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_REPOSITORY_SERVICE);
        if (service != null) {
            repositoryService = (RepositoryService) service;
        } else {
            repositoryService = new RepositoryService();
        }
        initService(repositoryService);
        repository = repositoryService.getRepository(endpoint.getRepoOwner(), endpoint.getRepoName());
    }
ID: 2437_1911
ClassID: 2437
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/VersionHelper.java
Name: org.apache.camel.main.util.VersionHelper.compare(String source, String target)
    public static int compare(String source, String target) {
        if (source == null || target == null) {
            return 0;
        }
        String s1 = StringHelper.before(source, ".");
        String s2 = StringHelper.after(source, ".");
        if (s1 == null) {
            s1 = StringHelper.before(source, ",");
            s2 = StringHelper.after(source, ",");
        }
        String t1 = StringHelper.before(target, ".");
        String t2 = StringHelper.after(target, ".");
        if (t1 == null) {
            t1 = StringHelper.before(target, ",");
            t2 = StringHelper.after(target, ",");
        }
        String s3 = StringHelper.after(s2, ".");
        if (s3 != null) {
            s2 = StringHelper.before(s2, ".");
        } else {
            s3 = "";
        }
        String t3 = StringHelper.after(t2, ".");
        if (t3 != null) {
            t2 = StringHelper.before(t2, ".");
        } else {
            t3 = "";
        }
         
        if (s1 == null) {
            s1 = source;
        }
        if (s2 == null) {
            s2 = "";
        }
        if (t1 == null) {
            t1 = target;
        }
        if (t2 == null) {
            t2 = "";
        }
         
        if (s1.length() < 2) {
            s1 = "0" + s1;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s2.length() < 2) {
            s2 = "0" + s2;
        }
        if (s3.length() < 2) {
            s3 = "0" + s3;
        }
        if (t1.length() < 2) {
            t1 = "0" + t1;
        }
        if (t2.length() < 2) {
            t2 = "0" + t2;
        }
        if (t3.length() < 2) {
            t3 = "0" + t3;
        }

        String s = s1 + s2 + s3;
        String t = t1 + t2 + t3;
        return s.compareTo(t);
    }
Pair #3841 Negative (Non-Clone)
ID: 1105_936
ClassID: 1105
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-iam/src/main/java/org/apache/camel/component/huaweicloud/iam/IAMProducer.java
Name: org.apache.camel.component.huaweicloud.iam.IAMProducer.getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations)
    private void getGroupUsers(Exchange exchange, ClientConfigurations clientConfigurations) {
         
        if (ObjectHelper.isEmpty(clientConfigurations.getGroupId())) {
            if (LOG.isErrorEnabled()) {
                LOG.error("No group id given");
            }
            throw new IllegalArgumentException("Group id is mandatory to get group users");
        }

         
        KeystoneListUsersForGroupByAdminRequest request = new KeystoneListUsersForGroupByAdminRequest()
                .withGroupId(clientConfigurations.getGroupId());
        KeystoneListUsersForGroupByAdminResponse response = iamClient.keystoneListUsersForGroupByAdmin(request);
        exchange.getMessage().setBody(gson.toJson(response.getUsers()));
    }
ID: 2463_1969
ClassID: 2463
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.readLogFiles(Map<Long, Row> rows)
    private int readLogFiles(Map<Long, Row> rows) throws Exception {
        int lines = 0;

        for (Row row : rows.values()) {
            if (row.reader == null) {
                Path file = logFile(row.pid);
                if (Files.exists(file)) {
                    row.reader = new LineNumberReader(Files.newBufferedReader(file));
                    if (tail == 0) {
                         
                        long size = Files.size(file);
                        row.reader.skip(size);
                    }
                }
            }
            if (row.reader != null) {
                String line;
                do {
                    try {
                        line = row.reader.readLine();
                        if (line != null) {
                            line = alignTimestamp(line);
                            boolean valid = true;
                            if (grep != null) {
                                valid = isValidGrep(line);
                            }
                            if (valid) {
                                lines++;
                                 
                                if (row.fifo == null || row.fifo instanceof ArrayBlockingQueue) {
                                    row.fifo = new ArrayDeque<>();
                                }
                                row.fifo.offer(line);
                            }
                        }
                    } catch (IOException e) {
                         
                        line = null;
                    }
                } while (line != null);
            }
        }

        return lines;
    }
Pair #3842 Negative (Non-Clone)
ID: 171_128
ClassID: 171
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceProducer.java
Name: org.apache.camel.component.salesforce.SalesforceProducer.isBulkOperation(OperationName operationName)
    private static boolean isBulkOperation(OperationName operationName) {
        switch (operationName) {
            case CREATE_JOB:
            case GET_JOB:
            case CLOSE_JOB:
            case ABORT_JOB:
            case CREATE_BATCH:
            case GET_BATCH:
            case GET_ALL_BATCHES:
            case GET_REQUEST:
            case GET_RESULTS:
            case CREATE_BATCH_QUERY:
            case GET_QUERY_RESULT_IDS:
            case GET_QUERY_RESULT:
                return true;
            default:
                return false;
        }
    }
ID: 714_649
ClassID: 714
File: systems/camel-java/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/GetCorrelationContextProcessor.java
Name: org.apache.camel.opentelemetry.GetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            OpenTelemetrySpanAdapter camelSpan = (OpenTelemetrySpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = camelSpan.getContextPropagationItem(keyName);
                exchange.getMessage().setHeader(headerName, item);
            } else {
                LOG.warn("OpenTelemetry: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
Pair #3843 Negative (Non-Clone)
ID: 2578_2170
ClassID: 2578
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.checkComponentHeader(final File file)
    private void checkComponentHeader(final File file) throws MojoExecutionException {
        if (!file.exists()) {
            return;
        }

        final String headerText = "*{component-header}*";
        String loadedText;

        try {
            loadedText = PackageHelper.loadText(file);

        } catch (Exception e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
        if (!loadedText.contains(headerText)) {
            throw new MojoExecutionException("File " + file + " does not contain required string `" + headerText + "'");
        }
    }
ID: 2461_1963
ClassID: 2461
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLogAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction.doCall()
    public Integer doCall() throws Exception {
        Map<Long, Row> rows = new LinkedHashMap<>();

         
        updatePids(rows);
        if (!rows.isEmpty()) {
             
            if (find != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < find.length; i++) {
                    String f = find[i];
                    f = Pattern.quote(f);
                    find[i] = f;
                }
            }
            if (grep != null) {
                findAnsi = Ansi.ansi().fg(Ansi.Color.BLACK).bg(Ansi.Color.YELLOW).a("$0").reset().toString();
                for (int i = 0; i < grep.length; i++) {
                    String f = grep[i];
                    f = Pattern.quote(f);
                    grep[i] = f;
                }
            }
            Date limit = null;
            if (since != null) {
                long millis;
                if (StringHelper.isDigit(since)) {
                     
                    millis = TimePatternConverter.toMilliSeconds(since) * 1000;
                } else {
                    millis = TimePatternConverter.toMilliSeconds(since);
                }
                limit = new Date(System.currentTimeMillis() - millis);
            }
            if (startup) {
                follow = false;
                 
                tailStartupLogFiles(rows);
                dumpLogFiles(rows, 0);
            } else if (tail != 0) {
                 
                tailLogFiles(rows, tail, limit);
                dumpLogFiles(rows, tail);
            }
        }

        if (follow) {
            boolean waitMessage = true;
            final AtomicBoolean running = new AtomicBoolean(true);
            Thread t = new Thread(() -> {
                waitUserTask = new CommandHelper.ReadConsoleTask(() -> running.set(false));
                waitUserTask.run();
            }, "WaitForUser");
            t.start();
            StopWatch watch = new StopWatch();
            do {
                if (rows.isEmpty()) {
                    if (waitMessage) {
                        printer().println("Waiting for logs ...");
                        waitMessage = false;
                    }
                    Thread.sleep(500);
                    updatePids(rows);
                } else {
                    waitMessage = true;
                    if (watch.taken() > 500) {
                         
                        updatePids(rows);
                        watch.restart();
                    }
                    int lines = readLogFiles(rows);
                    if (lines > 0) {
                        dumpLogFiles(rows, 0);
                    } else {
                        Thread.sleep(100);
                    }
                }
            } while (running.get());
        }

        return 0;
    }
Pair #3844 Negative (Non-Clone)
ID: 3260_2618
ClassID: 3260
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Class<T> type)
    public <T> T getHeader(String name, Class<T> type) {
        Object value = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            value = headers.get(name);
        }
        if (value == null) {
             
            if (boolean.class == type) {
                return (T) Boolean.FALSE;
            }
            return null;
        }

         
         
        if (type.isInstance(value)) {
            return (T) value;
        }

        Exchange e = getExchange();
        if (e != null) {
            return typeConverter.convertTo(type, e, value);
        } else {
            return typeConverter.convertTo(type, value);
        }
    }
ID: 1622_1397
ClassID: 1622
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-tools/src/main/java/org/apache/camel/component/springai/tools/spec/CamelToolExecutorCache.java
Name: org.apache.camel.component.springai.tools.spec.CamelToolExecutorCache.put(String chatId, CamelToolSpecification specification)
    public void put(String chatId, CamelToolSpecification specification) {
        if (tools.get(chatId) != null) {
            tools.get(chatId).add(specification);
        } else {
            Set<CamelToolSpecification> camelToolSpecifications = new LinkedHashSet<>();
            camelToolSpecifications.add(specification);
            tools.put(chatId, camelToolSpecifications);
        }
    }
Pair #3845 Negative (Non-Clone)
ID: 2478_2023
ClassID: 2478
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop.getLoad(Row r)
    private String getLoad(Row r) {
        String s1 = r.load01 != null ? r.load01 : "-";
        String s2 = r.load05 != null ? r.load05 : "-";
        String s3 = r.load15 != null ? r.load15 : "-";
        if ("0.00".equals(s1)) {
            s1 = "-";
        }
        if ("0.00".equals(s2)) {
            s2 = "-";
        }
        if ("0.00".equals(s3)) {
            s3 = "-";
        }
        if (s1.equals("-") && s2.equals("-") && s3.equals("-")) {
            return "0/0/0";
        }
        return s1 + "/" + s2 + "/" + s3;
    }
ID: 2466_1981
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.action.ActionBaseCommand.getJsonObject(Path outputFile, long timeout)
    protected static JsonObject getJsonObject(Path outputFile, long timeout) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            File f = outputFile.toFile();
            try {
                 
                Thread.sleep(100);

                if (Files.exists(outputFile) && f.length() > 0) {
                    String text = Files.readString(outputFile);
                    return (JsonObject) Jsoner.deserialize(text);
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
Pair #3846 Negative (Non-Clone)
ID: 1311_1193
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doListPersistentVolumesClaimsByLabels(Exchange exchange)
    protected void doListPersistentVolumesClaimsByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_PERSISTENT_VOLUMES_CLAIMS_LABELS, Map.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing PersistentVolumeClaims by labels requires specifying labels");
            throw new IllegalArgumentException("Listing PersistentVolumeClaims by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().withLabels(labels).list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
ID: 2611_2251
ClassID: 2611
File: systems/camel-java/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
Name: org.apache.camel.tooling.model.JsonMapper.asJsonObject(DevConsoleModel model)
    public static JsonObject asJsonObject(DevConsoleModel model) {
        JsonObject obj = new JsonObject();
        baseToJson(model, obj);
        artifactToJson(model, obj);
        obj.put("group", model.getGroup());
        obj.entrySet().removeIf(e -> e.getValue() == null);
        JsonObject wrapper = new JsonObject();
        wrapper.put("console", obj);
        return wrapper;
    }
Pair #3847 Negative (Non-Clone)
ID: 554_530
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        } else {
            resetPartTypeClass(bop.getOperationInfo().getInput());
            resetPartTypeClass(bop.getOperationInfo().getOutput());
            resetPartTypeClass(bop.getInput());
            resetPartTypeClass(bop.getOutput());
        }
    }
ID: 1492_1332
ClassID: 1492
File: systems/camel-java/components/camel-milo/src/main/java/org/apache/camel/component/milo/NodeIds.java
Name: org.apache.camel.component.milo.NodeIds.nodeValue(final int namespace, final ByteString node)
    public static String nodeValue(final int namespace, final ByteString node) {
        Objects.requireNonNull(namespace);
        Objects.requireNonNull(node);

        final StringBuilder builder = new StringBuilder("RAW(");
        appendNamespace(builder, namespace);
        builder.append(';');
        appendNodeId(builder, node);
        builder.append(')');
        return builder.toString();
    }
Pair #3848 Negative (Non-Clone)
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 2462_1967
ClassID: 2462
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.updatePids(Map<Long, Pid> rows)
    private void updatePids(Map<Long, Pid> rows) {
        List<Long> pids;
        if (name != null) {
            pids = findPids(name);
        } else {
            pids = List.of(pid);
        }
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        Pid row = new Pid();
                        row.pid = Long.toString(ph.pid());
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        row.name = context.getString("name");
                        if ("CamelJBang".equals(row.name)) {
                            row.name = ProcessHelper.extractName(root, ph);
                        }
                        int len = row.name.length();
                        if (len < NAME_MIN_WIDTH) {
                            len = NAME_MIN_WIDTH;
                        }
                        if (len > NAME_MAX_WIDTH) {
                            len = NAME_MAX_WIDTH;
                        }
                        if (len > nameMaxWidth) {
                            nameMaxWidth = len;
                        }
                        if (!rows.containsKey(ph.pid())) {
                            rows.put(ph.pid(), row);
                        }
                    }
                });

         
        Set<Long> remove = new HashSet<>();
        for (long pid : rows.keySet()) {
            if (!pids.contains(pid)) {
                remove.add(pid);
            }
        }
        for (long pid : remove) {
            rows.remove(pid);
        }
    }
Pair #3849 Negative (Non-Clone)
ID: 1480_1321
ClassID: 1480
File: systems/camel-java/components/camel-reactor/src/main/java/org/apache/camel/component/reactor/engine/ReactorCamelProcessor.java
Name: org.apache.camel.component.reactor.engine.ReactorCamelProcessor.attach(ReactiveStreamsProducer producer)
    void attach(ReactiveStreamsProducer producer) {
        lock.lock();
        try {
            Objects.requireNonNull(producer, "producer cannot be null, use the detach method");

            if (this.camelProducer != null) {
                throw new IllegalStateException("A producer is already attached to the stream '" + name + "'");
            }

            if (this.camelProducer != producer) {  
                detach();

                ReactiveStreamsBackpressureStrategy strategy = producer.getEndpoint().getBackpressureStrategy();
                Flux<Exchange> flux = Flux.create(camelSink::set, FluxSink.OverflowStrategy.IGNORE);

                if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.OLDEST)) {
                     
                    flux = flux.onBackpressureDrop(this::onBackPressure).handle(this::onItemEmitted);
                } else if (ObjectHelper.equal(strategy, ReactiveStreamsBackpressureStrategy.LATEST)) {
                     
                     
                    flux = flux.handle(this::onItemEmitted).onBackpressureLatest();
                } else {
                     
                    flux = flux.onBackpressureBuffer(Queues.SMALL_BUFFER_SIZE, this::onBackPressure)
                            .handle(this::onItemEmitted);
                }

                flux.subscribe(this.publisher);

                camelProducer = producer;
            }
        } finally {
            lock.unlock();
        }
    }
ID: 1310_1187
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
Pair #3850 Negative (Non-Clone)
ID: 1218_1052
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleCustomers(Exchange exchange, String method)
    private Object handleCustomers(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Customer.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Customer.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String customerId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer customer = Customer.retrieve(customerId);
                return customer.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_DELETE:
                String deleteId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Customer deleteCustomer = Customer.retrieve(deleteId);
                return deleteCustomer.delete();
            case StripeConstants.METHOD_LIST:
                return Customer.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for customers: " + method);
        }
    }
ID: 781_707
ClassID: 781
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-language/src/main/java/org/apache/camel/component/ibm/watson/language/WatsonLanguageProducer.java
Name: org.apache.camel.component.ibm.watson.language.WatsonLanguageProducer.analyzeText(Exchange exchange)
    private void analyzeText(Exchange exchange) {
        NaturalLanguageUnderstanding nlu = getEndpoint().getNluClient();
        if (nlu == null) {
            throw new IllegalStateException("NLU client not initialized. Use service=nlu");
        }

        String text = exchange.getIn().getHeader(WatsonLanguageConstants.TEXT, String.class);
        if (text == null) {
            text = exchange.getIn().getBody(String.class);
        }

        if (text == null || text.isBlank()) {
            throw new IllegalArgumentException("Text to analyze must be specified");
        }

        LOG.trace("Analyzing text with NLU");

        Features features = buildFeatures(exchange);

        AnalyzeOptions options = new AnalyzeOptions.Builder()
                .text(text)
                .features(features)
                .build();

        AnalysisResults result = nlu.analyze(options).execute().getResult();

        Message message = getMessageForResponse(exchange);

         
        message.setBody(result);

         
        if (result.getSentiment() != null && result.getSentiment().getDocument() != null) {
            message.setHeader(WatsonLanguageConstants.SENTIMENT_SCORE, result.getSentiment().getDocument().getScore());
            message.setHeader(WatsonLanguageConstants.SENTIMENT_LABEL, result.getSentiment().getDocument().getLabel());
        }
        if (result.getLanguage() != null) {
            message.setHeader(WatsonLanguageConstants.LANGUAGE, result.getLanguage());
        }
    }
Pair #3851 Negative (Non-Clone)
ID: 2660_2337
ClassID: 2660
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
Name: org.apache.camel.processor.SendDynamicAwareResolver.resolve(CamelContext context, String scheme)
    public SendDynamicAware resolve(CamelContext context, String scheme) {

         
        Class<?> type = null;
        try {
            type = findFactory(scheme, context);
        } catch (Exception e) {
             
        }

        if (type != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Found SendDynamicAware: {} via: {}{}", type.getName(), factoryFinder.getResourcePath(), scheme);
            }
            if (SendDynamicAware.class.isAssignableFrom(type)) {
                SendDynamicAware answer = (SendDynamicAware) context.getInjector().newInstance(type, false);
                answer.setScheme(scheme);
                answer.setCamelContext(context);
                return answer;
            } else {
                throw new IllegalArgumentException("Type is not a SendDynamicAware implementation. Found: " + type.getName());
            }
        }

        return null;
    }
ID: 2363_1860
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode eventType = node.get("event_type");

        if (eventType != null && "text-generation".equals(eventType.asText())) {
            JsonNode text = node.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
Pair #3852 Negative (Non-Clone)
ID: 2400_1888
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapProducer.java
Name: org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case CLEAR:
                this.clear();
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 2447_1932
ClassID: 2447
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateCamelReleasesMojo.java
Name: org.apache.camel.maven.packaging.UpdateCamelReleasesMojo.processReleases(List<String> urls)
    private List<ReleaseModel> processReleases(List<String> urls) throws Exception {
        List<ReleaseModel> answer = new ArrayList<>();

        HttpClient hc = HttpClient.newHttpClient();
        for (String url : urls) {
            HttpResponse<String> res = hc.send(HttpRequest.newBuilder(new URI(url)).timeout(Duration.ofSeconds(20)).build(),
                    HttpResponse.BodyHandlers.ofString());

            if (res.statusCode() == 200) {
                ReleaseModel model = new ReleaseModel();
                LineNumberReader lr = new LineNumberReader(new StringReader(res.body()));
                String line = lr.readLine();
                while (line != null) {
                    if (line.startsWith("date:")) {
                        model.setDate(line.substring(5).trim());
                    } else if (line.startsWith("version:")) {
                        model.setVersion(line.substring(8).trim());
                    } else if (line.startsWith("eol:")) {
                        model.setEol(line.substring(4).trim());
                    } else if (line.startsWith("kind:")) {
                        model.setKind(line.substring(5).trim());
                    } else if (line.startsWith("jdk:")) {
                        String s = line.substring(4).trim();
                        if (s.startsWith("[") && s.endsWith("]")) {
                            s = s.substring(1, s.length() - 1);
                        }
                         
                        s = s.replace(" ", "");
                        model.setJdk(s);
                    }
                    line = lr.readLine();
                }
                if (model.getVersion() != null) {
                    answer.add(model);
                }
            }
        }

        return answer;
    }
Pair #3853 Negative (Non-Clone)
ID: 1311_1191
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cronjob/KubernetesCronJobProducer.java
Name: org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobProducer.doListCronJobByLabel(Exchange exchange)
    protected void doListCronJobByLabel(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_CRON_JOB_LABELS, Map.class);
        CronJobList cronJobList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing CronJobs by labels requires specifying labels");
            throw new IllegalArgumentException("Listing CronJobs by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            cronJobList
                    = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inAnyNamespace().withLabels(labels).list();
        } else {
            cronJobList = getEndpoint().getKubernetesClient().batch().v1().cronjobs().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, cronJobList.getItems());
    }
ID: 2565_2142
ClassID: 2565
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSensitizeHelper.java
Name: org.apache.camel.maven.packaging.UpdateSensitizeHelper.execute()
    public void execute() throws MojoExecutionException {
        File camelDir = findCamelDirectory(baseDir, "core/camel-util");
        if (camelDir == null) {
            getLog().debug("No core/camel-util folder found, skipping execution");
            return;
        }
        List<Path> jsonFiles;
        try (Stream<Path> stream = PackageHelper.findJsonFiles(jsonDir.toPath())) {
            jsonFiles = stream.toList();
        }
        Set<String> secrets = new TreeSet<>();

        for (Path file : jsonFiles) {
            final String name = PackageHelper.asName(file);

            try {
                String json = PackageHelper.loadText(file.toFile());
                Object jo = Jsoner.deserialize(json);
                JsonObject obj;
                if (jo instanceof JsonObject) {
                    obj = (JsonObject) jo;
                } else {
                    continue;
                }

                boolean isComponent = obj.getMap("component") != null;
                boolean isDataFormat = !isComponent && obj.getMap("dataformat") != null;
                boolean isLanguage = !isComponent && !isDataFormat && obj.getMap("language") != null;

                 
                if (!isComponent && !isDataFormat && !isLanguage) {
                    continue;
                }

                if (isComponent) {
                    ComponentModel cm = JsonMapper.generateComponentModel(json);
                    cm.getComponentOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isDataFormat) {
                    DataFormatModel dm = JsonMapper.generateDataFormatModel(json);
                    dm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                } else if (isLanguage) {
                    LanguageModel lm = JsonMapper.generateLanguageModel(json);
                    lm.getOptions().forEach(o -> {
                        if (o.isSecret()) {
                             
                            String key = o.getName().toLowerCase(Locale.ENGLISH);
                            key = key.replace("-", "");
                            secrets.add(key);
                        }
                    });
                }
            } catch (Exception e) {
                throw new MojoExecutionException("Error loading json: " + name, e);
            }
        }

         
        secrets.addAll(Arrays.asList(EXTRA_KEYS));

        getLog().info("There are " + secrets.size()
                      + " distinct secret options across all the Camel components/dataformats/languages");

        try {
            boolean updated = updateSensitiveHelperKeys(camelDir, secrets);
            updated |= updateSensitiveHelperPatterns(camelDir, secrets);
            if (updated) {
                getLog().info("Updated camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            } else {
                getLog().debug("No changes to camel-util/src/main/java/org/apache/camel/util/SensitiveUtils.java file");
            }
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating SensitiveUtils.java", e);
        }

        try {
            updateSensitiveJsonSchema(baseDir, secrets);
        } catch (Exception e) {
            throw new MojoExecutionException("Error updating sensitive-keys.json", e);
        }
    }
Pair #3854 Negative (Non-Clone)
ID: 2575_2163
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
Name: org.apache.camel.maven.packaging.GenerateDevConsoleMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DevConsoleModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
        annotations.forEach(a -> {
            DevConsoleModel model = new DevConsoleModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setGroup(annotationValue(a, "group"));
            model.setName(annotationValue(a, "name"));
            model.setDisplayName(annotationValue(a, "displayName"));
            model.setDescription(annotationValue(a, "description"));
             
            boolean skip = "default-registry".equals(model.getName());
            if (!skip) {
                models.add(model);
            }
        });
        models.sort(Comparator.comparing(DevConsoleModel::getName));

         

        if (!models.isEmpty()) {
            try {
                StringJoiner ids = new StringJoiner(" ");
                for (var model : models) {
                    ids.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/org/apache/camel/dev-console/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated dev-console json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "dev-consoles", ids.toString());
                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
                              + (count > 1 ? "consoles: " : "console: ") + ids);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
ID: 1809_1492
ClassID: 1809
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCopyFileContainerRequest(DockerClient client, Message message)
    private CopyArchiveFromContainerCmd executeCopyFileContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Copy File/Folder Container Request");

        String containerId
                = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class);
        String resource = DockerHelper.getProperty(DockerConstants.DOCKER_RESOURCE, configuration, message, String.class);

        if (containerId == null || resource == null) {
            throw new IllegalArgumentException("Container ID and Resource must be specified");
        }

        CopyArchiveFromContainerCmd copyArchiveFromContainerCmd = client.copyArchiveFromContainerCmd(containerId, resource);

        String hostPath = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_PATH, configuration, message, String.class);

        if (hostPath != null) {
            copyArchiveFromContainerCmd.withHostPath(hostPath);
        }

        return copyArchiveFromContainerCmd;

    }
Pair #3855 Negative (Non-Clone)
ID: 452_480
ClassID: 452
File: systems/camel-java/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
Name: org.apache.camel.component.box.api.BoxFoldersManager.moveFolder(String folderId, String destinationFolderId, String newName)
    public BoxFolder moveFolder(String folderId, String destinationFolderId, String newName) {
        try {
            LOG.debug("Moving folder(id={}) to destination_folder(id={}) {}",
                    folderId, destinationFolderId, newName == null ? "" : " with new name '" + newName + "'");
            BoxHelper.notNull(folderId, FOLDER_ID);
            BoxHelper.notNull(destinationFolderId, BoxHelper.DESTINATION_FOLDER_ID);

            BoxFolder folderToMove = new BoxFolder(boxConnection, folderId);
            BoxFolder destinationFolder = new BoxFolder(boxConnection, destinationFolderId);
            if (newName == null) {
                return (BoxFolder) folderToMove.move(destinationFolder).getResource();
            } else {
                return (BoxFolder) folderToMove.move(destinationFolder, newName).getResource();
            }
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    buildBoxApiErrorMessage(e), e);
        }
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #3856 Negative (Non-Clone)
ID: 1323_1233
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
Name: org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsProducer.doListBuildConfigsByLabels(Exchange exchange)
    protected void doListBuildConfigsByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILD_CONFIGS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildConfigList buildConfigsList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildConfigsList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).buildConfigs()
                    .inAnyNamespace().withLabels(labels).list();
        }
        prepareOutboundMessage(exchange, buildConfigsList.getItems());
    }
ID: 3296_2703
ClassID: 3296
File: systems/camel-java/core/camel-api/src/main/java/org/apache/camel/support/service/BaseService.java
Name: org.apache.camel.support.service.BaseService.start()
    public void start() {
        lock.lock();
        try {
            if (status == STARTED) {
                logger().trace("Service: {} already started", this);
                return;
            }
            if (status == STARTING) {
                logger().trace("Service: {} already starting", this);
                return;
            }
            init();
            if (status == FAILED) {
                logger().trace("Init failed");
                return;
            }
            try (AutoCloseable ignored = doLifecycleChange()) {
                status = STARTING;
                logger().trace("Starting service: {}", this);
                doStart();
                status = STARTED;
                logger().trace("Started service: {}", this);
            } catch (Exception e) {
                 
                try {
                    stop();
                } catch (Exception e2) {
                     
                    logger().trace("Error while stopping service after it failed to start: {}. This exception is ignored",
                            this, e);
                }
                logger().trace("Error while starting service: {}", this, e);
                fail(e);
            }
        } finally {
            lock.unlock();
        }
    }
Pair #3857 Negative (Non-Clone)
ID: 488_519
ClassID: 488
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/generated/java/org/apache/camel/component/cxf/jaxrs/CxfConverterLoader.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toInputStream((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToInputStream((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.Object[].class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.xml.soap.SOAPMessage.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.soapMessageToString((jakarta.xml.soap.SOAPMessage) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, javax.xml.namespace.QName.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toQName((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.StreamCache.class, jakarta.ws.rs.core.Response.class, true,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toStreamCache((jakarta.ws.rs.core.Response) value, exchange);
                if (true && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.cxf.common.DataFormat.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toDataFormat((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.cxf.message.MessageContentsList.class, java.lang.Object[].class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.cxf.jaxrs.CxfConverter.toMessageContentsList((java.lang.Object[]) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 210_232
ClassID: 210
File: systems/camel-java/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
Name: org.apache.camel.component.jetty.JettyRestHttpBinding.populateRequestParameters(HttpServletRequest request, Message message)
    protected void populateRequestParameters(HttpServletRequest request, Message message) {
        super.populateRequestParameters(request, message);

        String path = request.getPathInfo();
        if (path == null) {
            return;
        }

         
         

        JettyHttpEndpoint endpoint = (JettyHttpEndpoint) message.getExchange().getFromEndpoint();
        String consumerPath = endpoint.getPath();

        if (useRestMatching(consumerPath)) {
            evalPlaceholders(message.getHeaders(), path, consumerPath);
        }
    }
Pair #3858 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 18_26
ClassID: 18
File: systems/camel-java/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.infinispan.remote.InfinispanRemoteProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer target = (org.apache.camel.component.infinispan.remote.InfinispanRemoteProducer) obj;
        switch (key) {
        case "query":
        case "QUERY": target.onQuery(exchange.getMessage()); return null;
        case "stats":
        case "STATS": target.onStats(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3859 Negative (Non-Clone)
ID: 891_739
ClassID: 891
File: systems/camel-java/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
Name: org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        String[] parts = remaining.split(":");

        if (parts.length < 2) {
            throw new IllegalArgumentException("Google BigQuery Endpoint format \"projectId:<query>\"");
        }

        GoogleBigQuerySQLConfiguration conf
                = configuration != null ? configuration.copy() : new GoogleBigQuerySQLConfiguration();
        conf.parseRemaining(remaining);

        GoogleBigQuerySQLEndpoint endpoint = new GoogleBigQuerySQLEndpoint(uri, this, conf);
        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 1788_1468
ClassID: 1788
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java
Name: org.apache.camel.support.builder.TokenPairExpressionIterator.doEvaluate(Exchange exchange, boolean closeStream)
    protected Object doEvaluate(Exchange exchange, boolean closeStream) {
        InputStream in = null;
        try {
            if (source != null) {
                in = source.evaluate(exchange, InputStream.class);
            } else {
                in = exchange.getIn().getBody(InputStream.class);
            }
            if (in == null) {
                throw new InvalidPayloadException(exchange, InputStream.class);
            }
             
            String charset = ExchangeHelper.getCharsetName(exchange);
            return createIterator(exchange, in, charset);
        } catch (InvalidPayloadException e) {
            exchange.setException(e);
             
            IOHelper.close(in);
            return null;
        } finally {
            if (closeStream) {
                IOHelper.close(in);
            }
        }
    }
Pair #3860 Negative (Non-Clone)
ID: 195_223
ClassID: 195
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResult(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResult(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        String resultId;
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
            resultId = getParameter(RESULT_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            resultId = getParameter(RESULT_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResult(jobId, batchId, resultId, determineHeaders(exchange),
                new BulkApiClient.StreamResponseCallback() {
                    @Override
                    public void onResponse(InputStream inputStream, Map<String, String> headers, SalesforceException ex) {
                        StreamCache body = null;
                        if (inputStream != null) {
                             
                             
                            try {
                                body = StreamCacheConverter.convertToStreamCache(inputStream, exchange);
                            } catch (IOException e) {
                                String msg = "Error retrieving query result: " + e.getMessage();
                                ex = new SalesforceException(msg, e);
                            } finally {
                                 
                                try {
                                    inputStream.close();
                                } catch (IOException e) {
                                     
                                }
                            }
                        }
                        processResponse(exchange, body, headers, ex, callback);
                    }
                });
    }
ID: 173_133
ClassID: 173
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java
Name: org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.createHandshakeListener()
    private MessageListener createHandshakeListener() {
        return (channel, message) -> component.getHttpClient().getWorkerPool().execute(() -> {
            LOG.debug("[CHANNEL:META_HANDSHAKE]: {}", message);

            if (!message.isSuccessful()) {
                LOG.warn("Handshake failure: {}", message);
                handshakeError = (String) message.get(ERROR_FIELD);
                handshakeException = getFailure(message);
                if (handshakeError != null) {
                    if (handshakeError.startsWith("403::")) {
                        String failureReason = getFailureReason(message);
                        if (failureReason.equals(AUTHENTICATION_INVALID)) {
                            LOG.debug(
                                    "attempting login due to handshake error: 403 -> 401::Authentication invalid");
                            session.attemptLoginUntilSuccessful(backoffIncrement, maxBackoff);
                        }
                    }
                }
                 
                LOG.debug("Handshake failed, so try again.");
                client.handshake();
            } else if (!channelToConsumers.isEmpty()) {
                channelsToSubscribe.clear();
                channelsToSubscribe.addAll(channelToConsumers.keySet());
                LOG.info("Handshake successful. Channels to subscribe: {}", channelsToSubscribe);
            }
        });
    }
Pair #3861 Negative (Non-Clone)
ID: 307_374
ClassID: 307
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/CqlSpanDecorator.java
Name: org.apache.camel.telemetry.decorators.CqlSpanDecorator.beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint)
    public void beforeTracingEvent(Span span, Exchange exchange, Endpoint endpoint) {
        super.beforeTracingEvent(span, exchange, endpoint);
        span.setTag(TagConstants.DB_SYSTEM, CASSANDRA_DB_TYPE);
        URI uri = URI.create(endpoint.getEndpointUri());
        if (uri.getPath() != null && !uri.getPath().isEmpty()) {
             
            span.setTag(TagConstants.DB_NAME, uri.getPath().substring(1));
        }

        String cql = exchange.getIn().getHeader(CAMEL_CQL_QUERY, String.class);
        if (cql != null) {
            span.setTag(TagConstants.DB_STATEMENT, cql);
        } else {
            Map<String, String> queryParameters = toQueryParameters(endpoint.getEndpointUri());
            if (queryParameters.containsKey("cql")) {
                span.setTag(TagConstants.DB_STATEMENT, queryParameters.get("cql"));
            }
        }
    }
ID: 3162_2410
ClassID: 3162
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedAsyncProcessorAwaitManager.java
Name: org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager.browse()
    public TabularData browse() {
        try {
            TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
            Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
            for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
                CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
                final CompositeData data = toCompositeData(entry, ct);
                answer.put(data);
            }
            return answer;
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3862 Negative (Non-Clone)
ID: 1161_992
ClassID: 1161
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.subscriber(String uri)
    public Subscriber<Exchange> subscriber(String uri) {
        try {
            String uuid = context.getUuidGenerator().generateUuid();
            new RouteBuilder() {
                @Override
                public void configure() {
                    from("reactive-streams:" + uuid)
                            .to(uri);
                }
            }.addRoutesToCamelContext(context);

            return streamSubscriber(uuid);
        } catch (Exception e) {
            throw new IllegalStateException("Unable to create source reactive stream towards direct URI: " + uri, e);
        }
    }
ID: 1033_884
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, null)) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
    }
Pair #3863 Negative (Non-Clone)
ID: 3309_2723
ClassID: 3309
File: systems/camel-java/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCachingCamelCatalog.java
Name: org.apache.camel.catalog.impl.AbstractCachingCamelCatalog.doGetCache(String key, String name, Function<String, T> loader)
    protected <T> T doGetCache(String key, String name, Function<String, T> loader) {
        if (caching) {
            T t = (T) cache.get(key);
            if (t == null) {
                t = loader.apply(name);
                if (t != null) {
                    cache.put(key, t);
                }
            }
            return t;
        } else {
            return loader.apply(name);
        }
    }
ID: 128_122
ClassID: 128
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/TryProcessor.java
Name: org.apache.camel.processor.TryProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        if (tryProcessor != null) {
            answer.add(tryProcessor);
        }
        if (catchClauses != null && !catchClauses.isEmpty()) {
            answer.addAll(catchClauses);
        }
        if (finallyProcessor != null) {
            answer.add(finallyProcessor);
        }
        return answer;
    }
Pair #3864 Negative (Non-Clone)
ID: 1310_1181
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
Name: org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        SecretList secretsList;

        if (ObjectHelper.isEmpty(namespace)) {
            secretsList = getEndpoint().getKubernetesClient().secrets().inAnyNamespace().list();
        } else {
            secretsList = getEndpoint().getKubernetesClient().secrets().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, secretsList.getItems());
    }
ID: 1035_889
ClassID: 1035
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.addPrefixPath(final String path, final HttpHandler handler)
    public PathHandler addPrefixPath(final String path, final HttpHandler handler) {
        lock.lock();
        try {
            super.addPrefixPath(path, handler);
            handlers.put(path, handler);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
Pair #3865 Negative (Non-Clone)
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 2531_2105
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/AutoConfigureDownloadListener.java
Name: org.apache.camel.main.download.AutoConfigureDownloadListener.autoConfigure(String artifactId)
    protected void autoConfigure(String artifactId) {
         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + artifactId + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = getCamelContext().hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #3866 Negative (Non-Clone)
ID: 443_468
ClassID: 443
File: systems/camel-java/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerInitializerFactory.java
Name: org.apache.camel.component.netty.http.HttpServerInitializerFactory.createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
    private SSLContext createSSLContext(CamelContext camelContext, NettyServerBootstrapConfiguration configuration)
            throws Exception {
        if (!configuration.isSsl()) {
            return null;
        }

        SSLContext answer;

         
        if (configuration.getSslContextParameters() != null) {
            answer = configuration.getSslContextParameters().createSSLContext(camelContext);
        } else {
            char[] pw = configuration.getPassphrase() != null ? configuration.getPassphrase().toCharArray() : null;

            SSLEngineFactory sslEngineFactory = new SSLEngineFactory();
            answer = sslEngineFactory.createSSLContext(camelContext,
                    configuration.getKeyStoreFormat(),
                    configuration.getSecurityProvider(),
                    configuration.getKeyStoreResource(),
                    configuration.getTrustStoreResource(),
                    pw);
        }

        return answer;
    }
ID: 1252_1090
ClassID: 1252
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
Name: org.apache.camel.spring.spi.SpringTransactionPolicy.createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerFactory builder)
    protected TransactionErrorHandler createTransactionErrorHandler(
            Route route, Processor processor, ErrorHandlerFactory builder) {
        TransactionErrorHandler answer;
        try {
            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
            answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
        return answer;
    }
Pair #3867 Negative (Non-Clone)
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
ID: 257_333
ClassID: 257
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/OBSConsumer.java
Name: org.apache.camel.component.huaweicloud.obs.OBSConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());

             
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                @Override
                public void onComplete(Exchange exchange) {
                    processComplete(exchange);
                }

                @Override
                public void onFailure(Exchange exchange) {
                    processFailure(exchange);
                }
            });

            AsyncCallback callback = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, callback);
        }

        return total;
    }
Pair #3868 Negative (Non-Clone)
ID: 2247_1772
ClassID: 2247
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEventListener.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedEventListener.processEvent(CacheEntryRemovedEvent<?, ?> event)
    public void processEvent(CacheEntryRemovedEvent<?, ?> event) {
        if (isAccepted(event.getType())) {
            getEventProcessor().processEvent(
                    event.getType().toString(),
                    event.getCache().getName(),
                    event.getKey(),
                    event.getValue(),
                    e -> {
                        e.getMessage().setHeader(InfinispanConstants.IS_PRE, event.isPre());
                        e.getMessage().setHeader(InfinispanConstants.COMMAND_RETRIED, event.isCommandRetried());
                        e.getMessage().setHeader(InfinispanConstants.ORIGIN_LOCAL, event.isOriginLocal());
                        e.getMessage().setHeader(InfinispanConstants.CURRENT_STATE, event.isCurrentState());
                        e.getMessage().setHeader(InfinispanConstants.OLD_VALUE, event.getOldValue());
                    });
        }
    }
ID: 1636_1403
ClassID: 1636
File: systems/camel-java/components/camel-spring-parent/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/config/BeanDefinitionParser.java
Name: org.apache.camel.component.spring.security.config.BeanDefinitionParser.doParse(Element element, BeanDefinitionBuilder builder)
    protected void doParse(Element element, BeanDefinitionBuilder builder) {
        NamedNodeMap attributes = element.getAttributes();
        for (int x = 0; x < attributes.getLength(); x++) {
            Attr attribute = (Attr) attributes.item(x);
            String name = attribute.getLocalName();
            String fullName = attribute.getName();
             
            if (fullName.equals("id") && isAssignId()) {
                if (attribute.getValue() != null) {
                    builder.addPropertyValue("id", attribute.getValue());
                }
                 
            } else if (!fullName.startsWith("xmlns:") && !fullName.equals("xmlns") && isEligibleAttribute(name)) {
                String propertyName = extractPropertyName(name);
                Assert.state(StringUtils.hasText(propertyName),
                        "Illegal property name returned from 'extractPropertyName(String)': cannot be null or empty.");
                builder.addPropertyValue(propertyName, attribute.getValue());
            }
        }
        postProcess(builder, element);
    }
Pair #3869 Negative (Non-Clone)
ID: 2230_1748
ClassID: 2230
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doCommitAll(Exchange exchange, String operation)
    protected void doCommitAll(Exchange exchange, String operation) throws GitAPIException {
        String commitMessage = null;
        String username = null;
        String email = null;
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE))) {
            commitMessage = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_MESSAGE, String.class);
        } else {
            throw new IllegalArgumentException("Commit message must be specified to execute " + operation);
        }
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME))
                && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL))) {
            username = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_USERNAME, String.class);
            email = exchange.getIn().getHeader(GitConstants.GIT_COMMIT_EMAIL, String.class);
        }
        boolean allowEmpty = endpoint.isAllowEmpty();
        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY))) {
            allowEmpty = exchange.getIn().getHeader(GitConstants.GIT_ALLOW_EMPTY, Boolean.class);
        }

        try {
            if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
                git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
            }
            if (ObjectHelper.isNotEmpty(username) && ObjectHelper.isNotEmpty(email)) {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setCommitter(username, email).setMessage(commitMessage)
                        .call();
            } else {
                git.commit().setAllowEmpty(allowEmpty).setAll(true).setMessage(commitMessage).call();
            }
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
    }
ID: 2052_1672
ClassID: 2052
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFile.java
Name: org.apache.camel.component.file.GenericFile.copyFrom(GenericFile<T> source, GenericFile<T> result)
    public void copyFrom(GenericFile<T> source, GenericFile<T> result) {
        result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setEndpointPath(source.getEndpointPath());
        result.setAbsolute(source.isAbsolute());
        result.setDirectory(source.isDirectory());
        result.setAbsoluteFilePath(source.getAbsoluteFilePath());
        result.setRelativeFilePath(source.getRelativeFilePath());
        result.setFileName(source.getFileName());
        result.setFileNameOnly(source.getFileNameOnly());
        result.setFileLength(source.getFileLength());
        result.setLastModified(source.getLastModified());
        result.setFile(source.getFile());
        result.setBody(source.getBody());
        result.setBinding(source.getBinding());
        result.setCharset(source.getCharset());

        copyFromPopulateAdditional(source, result);
    }
Pair #3870 Negative (Non-Clone)
ID: 2433_1903
ClassID: 2433
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/model/UpdateListDTO.java
Name: org.apache.camel.dsl.jbang.core.model.UpdateListDTO.toMap()
    public Map<String, Object> toMap() {
        JsonObject jo = new JsonObject();
        jo.put("camelVersion", version);
        jo.put("runtime", runtime);
        if (runtimeVersion != null) {
            jo.put("runtimeVersion", runtimeVersion);
        }
        if (description != null) {
            jo.put("description", description);
        }
        return jo;
    }
ID: 2049_1667
ClassID: 2049
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentRepositoryReadLockStrategy.releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnCommit(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnCommit) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #3871 Negative (Non-Clone)
ID: 11_5
ClassID: 11
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheProducer.java
Name: org.apache.camel.component.caffeine.cache.CaffeineCacheProducer.getKey(final Message message)
    private Object getKey(final Message message) throws Exception {
        String value;
        value = message.getHeader(CaffeineConstants.KEY, String.class);
        if (value == null) {
            value = configuration.getKey();
        }

        if (value == null) {
            throw new CamelExchangeException(
                    "No value provided in header or as default value (" + CaffeineConstants.KEY + ")", message.getExchange());
        }

        return value;
    }
ID: 1864_1535
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKey(String keyId)
    public KeyPair getKey(String keyId) throws Exception {
        if (keyCache.containsKey(keyId)) {
            return keyCache.get(keyId);
        }

        Path keyFile = getKeyFile(keyId);
        if (!Files.exists(keyFile)) {
            throw new IllegalArgumentException("Key not found: " + keyId);
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(keyFile)))) {
            KeyPair keyPair = (KeyPair) ois.readObject();
            keyCache.put(keyId, keyPair);
            return keyPair;
        }
    }
Pair #3872 Negative (Non-Clone)
ID: 3266_2631
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(K key, V value)
    public V putIfAbsent(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        if (v != null) {
                            return v;
                        }
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
ID: 685_626
ClassID: 685
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
Name: org.apache.camel.component.metrics.routepolicy.MetricsRegistryService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMetricsRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
Pair #3873 Negative (Non-Clone)
ID: 3170_2439
ClassID: 3170
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseMessageAsJSon(Integer index, Boolean includeBody)
    public String browseMessageAsJSon(Integer index, Boolean includeBody) {
        List<Exchange> exchanges = getEndpoint().getExchanges();

        if (index >= exchanges.size()) {
            return null;
        }
        Exchange exchange = exchanges.get(index);
        if (exchange == null) {
            return null;
        }

        Message msg = exchange.getMessage();
        return MessageHelper.dumpAsJSon(msg, includeBody);
    }
ID: 1938_1587
ClassID: 1938
File: systems/camel-java/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryService.java
Name: org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryService.doInit()
    protected void doInit() throws Exception {
        super.doInit();

        if (metricsRegistry == null) {
            Registry camelRegistry = getCamelContext().getRegistry();
            metricsRegistry = camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class);
             
            if (metricsRegistry == null) {
                metricsRegistry = new MetricRegistry();
            }
        }

         
        this.mapper = new ObjectMapper().registerModule(new MetricsModule(getRateUnit(), getDurationUnit(), false));
        if (getRateUnit() == TimeUnit.SECONDS && getDurationUnit() == TimeUnit.SECONDS) {
             
            this.secondsMapper = this.mapper;
        } else {
            this.secondsMapper
                    = new ObjectMapper().registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
        }
    }
Pair #3874 Negative (Non-Clone)
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
ID: 2338_1840
ClassID: 2338
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Producer.configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange)
    private void configureFifoAttributes(SendMessageRequest.Builder request, Exchange exchange) {
        if (getEndpoint().getConfiguration().isFifoQueue()) {
             
            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageGroupIdStrategy())) {
                MessageGroupIdStrategy messageGroupIdStrategy = getEndpoint().getConfiguration().getMessageGroupIdStrategy();
                String messageGroupId = messageGroupIdStrategy.getMessageGroupId(exchange);
                request.messageGroupId(messageGroupId);
            }

            if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy())) {
                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy
                        = getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
                String messageDeduplicationId = messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
                request.messageDeduplicationId(messageDeduplicationId);
            }

        }
    }
Pair #3875 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #3876 Negative (Non-Clone)
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
ID: 125_114
ClassID: 125
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.buildFaultToleranceConfiguration()
    FaultToleranceConfigurationDefinition buildFaultToleranceConfiguration() throws Exception {
        Map<String, Object> properties = new HashMap<>();

        final PropertyConfigurer configurer = PluginHelper.getConfigurerResolver(camelContext)
                .resolvePropertyConfigurer(FaultToleranceConfigurationDefinition.class.getName(), camelContext);

         
         
        loadProperties(properties, Suppliers.firstNotNull(
                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                        .getFaultToleranceConfiguration(null),
                () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                        FaultToleranceConfigurationDefinition.class)),
                configurer);

         
         
        if (definition.getConfiguration() != null) {
            final String ref = parseString(definition.getConfiguration());
            loadProperties(properties, Suppliers.firstNotNull(
                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                            .getFaultToleranceConfiguration(ref),
                    () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                    configurer);
        }

         
        loadProperties(properties, Optional.ofNullable(definition.getFaultToleranceConfiguration()), configurer);

         
        FaultToleranceConfigurationDefinition config = new FaultToleranceConfigurationDefinition();
        PropertyBindingSupport.build()
                .withCamelContext(camelContext)
                .withIgnoreCase(true)
                .withConfigurer(configurer)
                .withProperties(properties)
                .withTarget(config)
                .bind();

        return config;
    }
Pair #3877 Negative (Non-Clone)
ID: 559_541
ClassID: 559
File: systems/camel-java/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/converter/CachedCxfPayload.java
Name: org.apache.camel.component.cxf.converter.CachedCxfPayload.toResult(Source source, Result result)
    private static void toResult(Source source, Result result) throws TransformerException {
        if (source != null) {
            XMLConverterHelper xml = new XMLConverterHelper();
            TransformerFactory factory = xml.getTransformerFactory();
            Transformer transformer = factory.newTransformer();
            if (transformer == null) {
                throw new TransformerException("Could not create a transformer - JAXP is misconfigured!");
            } else {
                Properties outputProperties = new Properties();
                outputProperties.put("encoding", DEFAULT_CHARSET);
                outputProperties.put("omit-xml-declaration", "yes");

                transformer.setOutputProperties(outputProperties);
                transformer.transform(source, result);
            }
        }
    }
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
Pair #3878 Negative (Non-Clone)
ID: 1457_1307
ClassID: 1457
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprPubSubHandler.java
Name: org.apache.camel.component.dapr.operations.DaprPubSubHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        Object payload = exchange.getIn().getBody();
        String pubSubName = configurationOptionsProxy.getPubSubName(exchange);
        String topic = configurationOptionsProxy.getTopic(exchange);
        String contentType = configurationOptionsProxy.getContentType(exchange);
        Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange);

        PublishEventRequest publishEventRequest = new PublishEventRequest(pubSubName, topic, payload);
        publishEventRequest.setContentType(contentType);
        publishEventRequest.setMetadata(metadata);

        DaprClient client = endpoint.getClient();
        client.publishEvent(publishEventRequest).block();

        return DaprOperationResponse.create(publishEventRequest);
    }
ID: 1690_1414
ClassID: 1690
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getOrLookupCamelContext()
        public CamelContext getOrLookupCamelContext() {
            CamelContext answer = CamelBeanPostProcessor.this.camelContext;
            if (answer == null) {
                if (camelId != null) {
                    LOG.trace("Looking up CamelContext by id: {} from Spring ApplicationContext: {}", camelId,
                            applicationContext);
                    answer = applicationContext.getBean(camelId, CamelContext.class);
                } else {
                     
                    LOG.trace("Looking up CamelContext by type from Spring ApplicationContext: {}", applicationContext);
                    Map<String, CamelContext> contexts = applicationContext.getBeansOfType(CamelContext.class);
                    if (contexts.size() == 1) {
                        answer = contexts.values().iterator().next();
                    }
                }
                if (answer != null) {
                     
                    CamelBeanPostProcessor.this.camelContext = answer;
                }
            }
            return answer;
        }
Pair #3879 Negative (Non-Clone)
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
ID: 632_560
ClassID: 632
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/pollconsumer/quartz/QuartzScheduledPollConsumerScheduler.java
Name: org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerScheduler.hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger)
    private boolean hasTriggerChanged(Trigger oldTrigger, Trigger newTrigger) {
        if (newTrigger instanceof CronTrigger && oldTrigger instanceof CronTrigger) {
            CronTrigger newCron = (CronTrigger) newTrigger;
            CronTrigger oldCron = (CronTrigger) oldTrigger;
            return !newCron.getCronExpression().equals(oldCron.getCronExpression());
        } else if (newTrigger instanceof SimpleTrigger && oldTrigger instanceof SimpleTrigger) {
            SimpleTrigger newSimple = (SimpleTrigger) newTrigger;
            SimpleTrigger oldSimple = (SimpleTrigger) oldTrigger;
            return newSimple.getRepeatInterval() != oldSimple.getRepeatInterval()
                    || newSimple.getRepeatCount() != oldSimple.getRepeatCount();
        } else {
            return !newTrigger.getClass().equals(oldTrigger.getClass()) || !newTrigger.equals(oldTrigger);
        }
    }
Pair #3880 Negative (Non-Clone)
ID: 3261_2621
ClassID: 3261
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiBeanRepository.java
Name: org.apache.camel.support.jndi.JndiBeanRepository.findByType(Class<T> type)
    public <T> Set<T> findByType(Class<T> type) {
        Set<T> answer = new LinkedHashSet<>();
        try {
            NamingEnumeration<NameClassPair> list = getContext().list("");
            while (list.hasMore()) {
                NameClassPair pair = list.next();
                Object instance = context.lookup(pair.getName());
                instance = unwrap(instance);
                if (type.isInstance(instance)) {
                    answer.add(type.cast(instance));
                }
            }
        } catch (NamingException e) {
             
        }
        return answer;
    }
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #3881 Negative (Non-Clone)
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
ID: 243_314
ClassID: 243
File: systems/camel-java/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java
Name: org.apache.camel.component.aws.secretsmanager.SecretsManagerPropertiesFunction.apply(String remainder)
    public String apply(String remainder) {
        String key = remainder;
        String subkey = null;
        String returnValue = null;
        String defaultValue = null;
        String version = null;
        if (remainder.contains("#")) {
            key = StringHelper.before(remainder, "#");
            subkey = StringHelper.after(remainder, "#");
            defaultValue = StringHelper.after(subkey, ":");
            if (ObjectHelper.isNotEmpty(defaultValue)) {
                if (defaultValue.contains("@")) {
                    version = StringHelper.after(defaultValue, "@");
                    defaultValue = StringHelper.before(defaultValue, "@");
                }
            }
            if (subkey.contains(":")) {
                subkey = StringHelper.before(subkey, ":");
            }
            if (subkey.contains("@")) {
                version = StringHelper.after(subkey, "@");
                subkey = StringHelper.before(subkey, "@");
            }
        } else if (remainder.contains(":")) {
            key = StringHelper.before(remainder, ":");
            defaultValue = StringHelper.after(remainder, ":");
            if (remainder.contains("@")) {
                version = StringHelper.after(remainder, "@");
                defaultValue = StringHelper.before(defaultValue, "@");
            }
        } else {
            if (remainder.contains("@")) {
                key = StringHelper.before(remainder, "@");
                version = StringHelper.after(remainder, "@");
            }
        }

        if (key != null) {
            try {
                returnValue = getSecretFromSource(key, subkey, defaultValue, version);
            } catch (Exception e) {
                throw new RuntimeCamelException(
                        "Error getting secret from vault using key: " + key + " due to: " + e.getMessage(), e);
            }
        }

        return returnValue;
    }
Pair #3882 Negative (Non-Clone)
ID: 685_621
ClassID: 685
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
Name: org.apache.camel.component.micrometer.json.AbstractMicrometerService.dumpStatisticsAsJson()
    public String dumpStatisticsAsJson() {
        ObjectWriter writer = mapper.writer();
        if (isPrettyPrint()) {
            writer = writer.withDefaultPrettyPrinter();
        }
        try {
            return writer.writeValueAsString(getMeterRegistry());
        } catch (JsonProcessingException e) {
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        }
    }
ID: 1256_1106
ClassID: 1256
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3883 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 1148_987
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/DistributionSummaryProducer.java
Name: org.apache.camel.opentelemetry.metrics.DistributionSummaryProducer.getInstrument(String name, String description)
    protected LongHistogram getInstrument(String name, String description) {
        LongHistogram summary = distributionSummaries.get(name);
        if (summary == null) {
            synchronized (lock) {
                summary = distributionSummaries.get(name);
                if (summary == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongHistogramBuilder builder = meter.histogramBuilder(name).ofLongs();
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    summary = builder.build();
                    distributionSummaries.put(name, summary);
                }
            }
        }
        return summary;
    }
Pair #3884 Negative (Non-Clone)
ID: 1282_1123
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.deleteDocument()
    private Function<Exchange, Object> deleteDocument() {
        return exchange -> {
            try {
                ArangoCollection collection = calculateDocumentCollection();

                boolean isMultiUpdate = exchange.getMessage().getHeader(MULTI_DELETE, false, Boolean.class);
                 
                if (isMultiUpdate) {
                    Collection<String> keysToDelete = exchange.getMessage().getMandatoryBody(Collection.class);
                    return collection.deleteDocuments(keysToDelete);
                }

                 
                String singleKey = exchange.getMessage().getMandatoryBody(String.class);
                return collection.deleteDocument(singleKey);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 3171_2441
ClassID: 3171
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBrowsableEndpoint.java
Name: org.apache.camel.management.mbean.ManagedBrowsableEndpoint.browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody)
    public String browseRangeMessagesAsJSon(Integer fromIndex, Integer toIndex, Boolean includeBody) {
        if (fromIndex == null) {
            fromIndex = 0;
        }
        if (toIndex == null) {
            toIndex = Integer.MAX_VALUE;
        }
        if (fromIndex > toIndex) {
            throw new IllegalArgumentException(
                    "From index cannot be larger than to index, was: " + fromIndex + " > " + toIndex);
        }

        List<Exchange> exchanges = getEndpoint().getExchanges();
        if (exchanges.isEmpty()) {
            return null;
        }

        JsonArray arr = new JsonArray();
        for (int i = fromIndex; i < exchanges.size() && i <= toIndex; i++) {
            Exchange exchange = exchanges.get(i);
            Message msg = exchange.getMessage();
            JsonObject jo = MessageHelper.dumpAsJSonObject(msg, false, false, includeBody, true, true, true, 128 * 1024);
            arr.add(jo);
        }
        String out = arr.toJson();
        return Jsoner.prettyPrint(out);
    }
Pair #3885 Negative (Non-Clone)
ID: 2597_2205
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getDouble(final int index)
    public Double getDouble(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).doubleValue();
    }
ID: 3255_2608
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.closeCircuit(Route route)
    protected void closeCircuit(Route route) {
        try {
            lock.lock();
            resumeOrStartConsumer(route.getConsumer());
            failures.set(0);
            success.set(0);
            lastFailure = 0;
            openedAt = 0;
            state.set(STATE_CLOSED);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3886 Negative (Non-Clone)
ID: 1062_913
ClassID: 1062
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/api/XAdESSignatureProperties.java
Name: org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties.setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences)
    public void setSigPolicyIdDocumentationReferences(List<String> sigPolicyIdDocumentationReferences) {
        if (sigPolicyIdDocumentationReferences == null) {
            throw new IllegalArgumentException("Parameter 'sigPolicyIdDocumentationReferences' is null");
        }
        for (String ref : sigPolicyIdDocumentationReferences) {
            if (ref == null || ref.isEmpty()) {
                throw new IllegalArgumentException(
                        "At least one documentation reference of the signature policy is null or empty");
            }
        }
        this.sigPolicyIdDocumentationReferences = sigPolicyIdDocumentationReferences;
    }
ID: 1100_931
ClassID: 1100
File: systems/camel-java/components/camel-jira/src/main/java/org/apache/camel/component/jira/producer/FetchCommentsProducer.java
Name: org.apache.camel.component.jira.producer.FetchCommentsProducer.process(Exchange exchange)
    public void process(Exchange exchange) {
        String issueKey = exchange.getIn().getHeader(ISSUE_KEY, String.class);
        if (issueKey == null) {
            throw new IllegalArgumentException("Missing exchange input header named " + ISSUE_KEY);
        }
        JiraRestClient client = ((JiraEndpoint) getEndpoint()).getClient();
        IssueRestClient issueClient = client.getIssueClient();
        Issue issue = issueClient.getIssue(issueKey).claim();

        exchange.getMessage().setBody(issue.getComments());
    }
Pair #3887 Negative (Non-Clone)
ID: 2470_1997
ClassID: 2470
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListConsumer.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListConsumer.getUri(Row r)
    private String getUri(Row r) {
        String u = r.uri;
        if (shortUri) {
            int pos = u.indexOf('?');
            if (pos > 0) {
                u = u.substring(0, pos);
            }
        }
        return u;
    }
ID: 1378_1242
ClassID: 1378
File: systems/camel-java/components/camel-rocketmq/src/main/java/org/apache/camel/component/rocketmq/RocketMQComponent.java
Name: org.apache.camel.component.rocketmq.RocketMQComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected RocketMQEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        RocketMQEndpoint endpoint = new RocketMQEndpoint(uri, this);
        endpoint.setProducerGroup(getProducerGroup());
        endpoint.setConsumerGroup(getConsumerGroup());
        endpoint.setMessageSelectorType(getMessageSelectorType());
        endpoint.setSubscribeSql(getSubscribeSql());
        endpoint.setSubscribeTags(getSubscribeTags());
        endpoint.setNamesrvAddr(getNamesrvAddr());
        endpoint.setNamespace(getNamespace());
        endpoint.setEnableTrace(isEnableTrace());
        endpoint.setAccessChannel(getAccessChannel());
        endpoint.setSendTag(getSendTag());
        endpoint.setReplyToTopic(getReplyToTopic());
        endpoint.setReplyToConsumerGroup(getReplyToConsumerGroup());
        endpoint.setRequestTimeoutMillis(getRequestTimeoutMillis());
        endpoint.setRequestTimeoutCheckerIntervalMillis(getRequestTimeoutCheckerIntervalMillis());
        endpoint.setWaitForSendResult(isWaitForSendResult());
        endpoint.setAccessKey(getAccessKey());
        endpoint.setSecretKey(getSecretKey());
        setProperties(endpoint, parameters);
        endpoint.setTopicName(remaining);
        return endpoint;
    }
Pair #3888 Negative (Non-Clone)
ID: 2187_1721
ClassID: 2187
File: systems/camel-java/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/producer/DigitalOceanImagesProducer.java
Name: org.apache.camel.component.digitalocean.producer.DigitalOceanImagesProducer.getImage(Exchange exchange)
    private void getImage(Exchange exchange) throws RequestUnsuccessfulException, DigitalOceanException {

        Integer imageId = exchange.getIn().getHeader(DigitalOceanHeaders.ID, Integer.class);
        String slug = exchange.getIn().getHeader(DigitalOceanHeaders.DROPLET_IMAGE, String.class);
        Image image;

        if (ObjectHelper.isNotEmpty(imageId)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(imageId);
        } else if (ObjectHelper.isNotEmpty(slug)) {
            image = getEndpoint().getDigitalOceanClient().getImageInfo(slug);
        } else {
            throw new IllegalArgumentException(
                    DigitalOceanHeaders.ID + " or " + DigitalOceanHeaders.DROPLET_IMAGE + " must be specified");
        }

        LOG.trace("Image [{}] ", image);
        exchange.getMessage().setBody(image);
    }
ID: 3266_2629
ClassID: 3266
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleLRUCache.java
Name: org.apache.camel.support.cache.SimpleLRUCache.put(K key, V value)
    public V put(K key, V value) {
        if (key == null || value == null) {
            throw new NullPointerException();
        }
        try (OperationContext<K, V> context = new OperationContext<>(this, key)) {
            delegate.compute(
                    key,
                    (k, v) -> {
                        context.result = extractValue(v);
                        return addChange(context, x -> value);
                    });
            return context.result;
        }
    }
Pair #3889 Negative (Non-Clone)
ID: 1725_1448
ClassID: 1725
File: systems/camel-java/components/camel-vertx/camel-vertx-http/src/main/java/org/apache/camel/component/vertx/http/VertxHttpHelper.java
Name: org.apache.camel.component.vertx.http.VertxHttpHelper.getCharsetFromExchange(Exchange exchange)
    public static String getCharsetFromExchange(Exchange exchange) {
        String charset = null;
        if (exchange != null) {
            String contentType = exchange.getMessage().getHeader(VertxHttpConstants.CONTENT_TYPE, String.class);
            charset = IOHelper.getCharsetNameFromContentType(contentType);
            if (ObjectHelper.isEmpty(charset)) {
                charset = exchange.getProperty(ExchangePropertyKey.CHARSET_NAME, String.class);
            }
        }
        return charset;
    }
ID: 2570_2153
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
Name: org.apache.camel.maven.packaging.MojoHelper.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        } else if (type.equals(Duration.class.getName())) {
            return "duration";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #3890 Negative (Non-Clone)
ID: 511_527
ClassID: 511
File: systems/camel-java/components/camel-cxf/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
Name: org.apache.camel.component.cxf.transport.CamelTransportFactory.unregisterConduitInitiators(ConduitInitiatorManager cim)
    private void unregisterConduitInitiators(ConduitInitiatorManager cim) {
        for (String ns : getTransportIds()) {
            try {
                if (cim.getConduitInitiator(ns) == this) {
                    cim.deregisterConduitInitiator(ns);
                }
            } catch (BusException e) {
                 
            }
        }
    }
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
Pair #3891 Negative (Non-Clone)
ID: 1905_1571
ClassID: 1905
File: systems/camel-java/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
Name: org.apache.camel.mdc.MDCService.allPropertiesMDC(Exchange exchange, boolean push)
    private void allPropertiesMDC(Exchange exchange, boolean push) {
        for (String property : exchange.getAllProperties().keySet()) {
            if (exchange.getProperty(property) != null) {
                if (push) {
                    MDC.put(property, exchange.getProperty(property, String.class));
                } else {
                    MDC.remove(property);
                }
            }
        }
    }
ID: 1000_855
ClassID: 1000
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Component.java
Name: org.apache.camel.component.olingo2.Olingo2Component.createOlingo2App(Olingo2Configuration configuration)
    private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) {

        Object clientBuilder = configuration.getHttpAsyncClientBuilder();
        if (clientBuilder == null) {
            HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();

             
            final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
            requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout());
            requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout());

            final HttpHost proxy = configuration.getProxy();
            if (proxy != null) {
                requestConfigBuilder.setProxy(proxy);
            }

             
            asyncClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());

            SSLContextParameters sslContextParameters = configuration.getSslContextParameters();
            if (sslContextParameters == null) {
                 
                sslContextParameters = retrieveGlobalSslContextParameters();
            }
            if (sslContextParameters == null) {
                 
                sslContextParameters = new SSLContextParameters();
            }
            try {
                asyncClientBuilder.setSSLContext(sslContextParameters.createSSLContext(getCamelContext()));
            } catch (GeneralSecurityException | IOException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }

            clientBuilder = asyncClientBuilder;
        }

        Olingo2AppImpl olingo2App;
        if (clientBuilder == null || clientBuilder instanceof HttpAsyncClientBuilder) {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpAsyncClientBuilder) clientBuilder);
        } else {
            olingo2App = new Olingo2AppImpl(configuration.getServiceUri(), (HttpClientBuilder) clientBuilder);
        }
        apiProxy = new Olingo2AppWrapper(olingo2App);
        apiProxy.getOlingo2App().setContentType(configuration.getContentType());
        apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders());
        apiProxy.getOlingo2App().setEntityProviderReadProperties(configuration.getEntityProviderReadProperties());
        apiProxy.getOlingo2App().setEntityProviderWriteProperties(configuration.getEntityProviderWriteProperties());

        return apiProxy;
    }
Pair #3892 Negative (Non-Clone)
ID: 1511_1356
ClassID: 1511
File: systems/camel-java/components/camel-file/src/generated/java/org/apache/camel/component/file/GenericFileConverterLoader.java
Name: org.apache.camel.component.file.GenericFileConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToInputStream((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.Reader.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToReader((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.Serializable.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToSerializable((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, org.apache.camel.component.file.GenericFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.file.GenericFileConverter.genericFileToString((org.apache.camel.component.file.GenericFile) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 765_689
ClassID: 765
File: systems/camel-java/components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java
Name: org.apache.camel.component.aws2.kms.KMS2Producer.determineOperation(Exchange exchange)
    private KMS2Operations determineOperation(Exchange exchange) {
        KMS2Operations operation = exchange.getIn().getHeader(KMS2Constants.OPERATION, KMS2Operations.class);
        if (operation == null) {
            operation = getConfiguration().getOperation();
        }

        if (ObjectHelper.isEmpty(operation)) {
            throw new IllegalArgumentException("Operation must be specified");
        }
        return operation;
    }
Pair #3893 Negative (Non-Clone)
ID: 1621_1396
ClassID: 1621
File: systems/camel-java/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsComponent.java
Name: org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        if (ObjectHelper.isEmpty(remaining)) {
            throw new IllegalArgumentException(
                    "Tool set and, optionally, the function, must be configured on the endpoint using syntax langchain4j-tools:toolId");
        }

         
        final String toolId = StringHelper.before(remaining, "/", remaining);
        final String tagList = parameters.get("tags").toString();
        if (ObjectHelper.isEmpty(tagList)) {
            throw new IllegalArgumentException("At least one tag must be specified");
        }

        LangChain4jToolsConfiguration langchain4jChatConfiguration = this.configuration.copy();

        Map<String, Object> toolParameters = PropertiesHelper.extractProperties(parameters, "parameter.");
        LangChain4jToolsEndpoint endpoint
                = new LangChain4jToolsEndpoint(uri, this, toolId, tagList, langchain4jChatConfiguration);
        endpoint.setParameters(toolParameters.entrySet().stream()
                .collect(Collectors.toMap(Map.Entry::getKey, e -> (String) e.getValue())));

        setProperties(endpoint, parameters);
        return endpoint;
    }
ID: 2513_2068
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringList(Node node)
    public static List<String> asStringList(Node node) {
        if (node == null) {
            return null;
        }

        final List<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringList(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new ArrayList<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3894 Negative (Non-Clone)
ID: 1479_1320
ClassID: 1479
File: systems/camel-java/components/camel-rxjava/src/main/java/org/apache/camel/component/rxjava/engine/RxJavaStreamsService.java
Name: org.apache.camel.component.rxjava.engine.RxJavaStreamsService.doRequest(String name, Exchange data)
    protected Publisher<Exchange> doRequest(String name, Exchange data) {
        ReactiveStreamsConsumer consumer = streamSubscriber(name).getConsumer();
        if (consumer == null) {
            throw new IllegalStateException("No consumers attached to the stream " + name);
        }

        Single<Exchange> source = Single.<Exchange> create(
                emitter -> data.getExchangeExtension().addOnCompletion(new Synchronization() {
                    @Override
                    public void onComplete(Exchange exchange) {
                        emitter.onSuccess(exchange);
                    }

                    @Override
                    public void onFailure(Exchange exchange) {
                        Throwable throwable = exchange.getException();
                        if (throwable == null) {
                            throwable = new IllegalStateException("Unknown Exception");
                        }

                        emitter.onError(throwable);
                    }
                })).doOnSubscribe(
                        subs -> consumer.process(data, RxJavaStreamsConstants.EMPTY_ASYNC_CALLBACK));

        return source.toFlowable();
    }
ID: 220_256
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/transform/GooglePubsubCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.pubsub.transform.GooglePubsubCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvents.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.pubsub.pull");

        if (message.getHeaders().containsKey(GooglePubsubConstants.ACK_ID)) {
            headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.pubsub." + message.getHeader(GooglePubsubConstants.ACK_ID, String.class));
        }

        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(GooglePubsubConstants.MESSAGE_ID, String.class));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvents.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvents.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3895 Negative (Non-Clone)
ID: 1010_875
ClassID: 1010
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2AppWrapper.java
Name: org.apache.camel.component.olingo2.Olingo2AppWrapper.getEdm(Map<String, String> endpointHttpHeaders)
    public Edm getEdm(Map<String, String> endpointHttpHeaders) throws RuntimeCamelException {
        Edm localEdm = edm;
        if (localEdm == null) {
            lock.lock();
            try {

                localEdm = edm;
                if (localEdm == null) {

                    final CountDownLatch latch = new CountDownLatch(1);
                    final Exception[] error = new Exception[1];
                    olingo2App.read(null, "$metadata", null, endpointHttpHeaders, new Olingo2ResponseHandler<Edm>() {

                        @Override
                        public void onResponse(Edm response, Map<String, String> responseHeaders) {
                            edm = response;
                            latch.countDown();
                        }

                        @Override
                        public void onException(Exception ex) {
                            error[0] = ex;
                            latch.countDown();
                        }

                        @Override
                        public void onCanceled() {
                            error[0] = new RuntimeCamelException("OData HTTP request cancelled!");
                            latch.countDown();
                        }
                    });

                    try {
                         
                        latch.await();

                        final Exception ex = error[0];
                        if (ex != null) {
                            if (ex instanceof RuntimeCamelException) {
                                throw (RuntimeCamelException) ex;
                            } else {
                                final String message = ex.getMessage() != null ? ex.getMessage() : ex.getClass().getName();
                                throw new RuntimeCamelException("Error reading EDM: " + message, ex);
                            }
                        }

                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        throw new RuntimeCamelException(e.getMessage(), e);
                    }

                    localEdm = edm;
                }
            } finally {
                lock.unlock();
            }
        }

        return localEdm;
    }
ID: 2042_1649
ClassID: 2042
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/FileEndpoint.java
Name: org.apache.camel.component.file.FileEndpoint.getPermissions()
    public Set<PosixFilePermission> getPermissions() {
        Set<PosixFilePermission> permissions = EnumSet.noneOf(PosixFilePermission.class);
        if (ObjectHelper.isEmpty(chmod)) {
            return permissions;
        }

        String chmodString = chmod.substring(chmod.length() - 3);  
                                                                  
                                                                  

        int ownerValue = Integer.parseInt(chmodString.substring(0, 1));
        int groupValue = Integer.parseInt(chmodString.substring(1, 2));
        int othersValue = Integer.parseInt(chmodString.substring(2, 3));

        if ((ownerValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_WRITE);
        }
        if ((ownerValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_READ);
        }
        if ((ownerValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
        }

        if ((groupValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_WRITE);
        }
        if ((groupValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_READ);
        }
        if ((groupValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
        }

         
        if ((othersValue & CHMOD_WRITE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_WRITE);  
        }
        if ((othersValue & CHMOD_READ_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_READ);  
        }
        if ((othersValue & CHMOD_EXECUTE_MASK) > 0) {
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);  
        }

        return permissions;
    }
Pair #3896 Negative (Non-Clone)
ID: 1311_1196
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
Name: org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersProducer.doListReplicationControllersByLabels(Exchange exchange)
    protected void doListReplicationControllersByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels
                = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, Map.class);
        ReplicationControllerList rcList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing ReplicationControllers by labels requires specifying labels");
            throw new IllegalArgumentException("Listing ReplicationControllers by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inAnyNamespace().withLabels(labels).list();
        } else {
            rcList = getEndpoint().getKubernetesClient().replicationControllers().inNamespace(namespace).withLabels(labels)
                    .list();
        }

        prepareOutboundMessage(exchange, rcList.getItems());
    }
ID: 220_257
ClassID: 220
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/transform/GoogleCalendarStreamCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.google.calendar.transform.GoogleCalendarStreamCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.google.calendar.stream.consume");

        if (message.getHeaders().containsKey(GoogleCalendarStreamConstants.EVENT_ID)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "google.calendar.stream." + message.getHeader(GoogleCalendarStreamConstants.EVENT_ID, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT,
                message.getBody(Event.class).getEventType());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3897 Negative (Non-Clone)
ID: 303_363
ClassID: 303
File: systems/camel-java/components/camel-telemetry/src/main/java/org/apache/camel/telemetry/decorators/HttpMethodHelper.java
Name: org.apache.camel.telemetry.decorators.HttpMethodHelper.getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint)
    public static String getHttpMethodFromParameters(Exchange exchange, Endpoint endpoint) {
        String queryStringHeader = (String) exchange.getIn().getHeader(Exchange.HTTP_QUERY);
        if (queryStringHeader != null) {
            String methodFromQuery = getMethodFromQueryString(queryStringHeader);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }

         
        int queryIndex = endpoint.getEndpointUri().indexOf('?');
        if (queryIndex != -1) {
            String queryString = endpoint.getEndpointUri().substring(queryIndex + 1);
            String methodFromQuery = getMethodFromQueryString(queryString);
            if (methodFromQuery != null) {
                return methodFromQuery;
            }
        }
        return null;
    }
ID: 1858_1519
ClassID: 1858
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.HashicorpVaultKeyLifecycleManager.listKeys()
    public List<KeyMetadata> listKeys() throws Exception {
         
        String metadataPath = buildMetadataPath(keyPrefix);
        List<String> keyIds = vaultTemplate.list(metadataPath);

        List<KeyMetadata> metadataList = new ArrayList<>();
        if (keyIds != null) {
            for (String keyId : keyIds) {
                try {
                     
                    String cleanKeyId = keyId.endsWith("/") ? keyId.substring(0, keyId.length() - 1) : keyId;
                    KeyMetadata metadata = getKeyMetadata(cleanKeyId);
                    if (metadata != null) {
                        metadataList.add(metadata);
                    }
                } catch (Exception e) {
                    LOG.warn("Failed to load metadata for key: {}", keyId, e);
                }
            }
        }

        return metadataList;
    }
Pair #3898 Negative (Non-Clone)
ID: 2481_2032
ClassID: 2481
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.getIdAndNoteDescription(Row r)
    protected String getIdAndNoteDescription(Row r) {
        String id = getId(r);
        if (description && r.description != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.description, " ", "\n  ", 40, true);
            } else {
                id = r.description;
            }
        }
        if (note && r.note != null) {
            if (id != null) {
                id = id + "\n  " + Strings.wrapWords(r.note, " ", "\n  ", 40, true);
            } else {
                id = r.note;
            }
        }
        return id;
    }
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
Pair #3899 Negative (Non-Clone)
ID: 1319_1224
ClassID: 1319
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/vault/ConfigmapsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.config_maps.vault.ConfigmapsReloadTriggerTask.doStart()
    protected void doStart() throws Exception {
        super.doStart();

         
        PropertiesComponent pc = camelContext.getPropertiesComponent();
        PropertiesFunction pf = pc.getPropertiesFunction("configmap");
        if (pf instanceof ConfigMapPropertiesFunction) {
            propertiesFunction = (ConfigMapPropertiesFunction) pf;
            LOG.info("Auto-detecting configmaps from properties-function: {}", pf.getName());
        }
         
        configmaps = camelContext.getVaultConfiguration().kubernetesConfigmaps().getConfigmaps();
        if (ObjectHelper.isEmpty(configmaps) && propertiesFunction == null) {
            throw new IllegalArgumentException("Configmaps must be configured on Kubernetes configmaps vault configuration");
        }

        kubernetesClient = propertiesFunction.getClient();
    }
ID: 1130_964
ClassID: 1130
File: systems/camel-java/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
Name: org.apache.camel.component.kamelet.KameletComponent.removeConsumer(String key, KameletConsumer consumer)
    public void removeConsumer(String key, KameletConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #3900 Negative (Non-Clone)
ID: 2543_2119
ClassID: 2543
File: systems/camel-java/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
Name: org.apache.camel.catalog.CamelCatalogJSonSchemaResolver.getComponentJSonSchema(String name)
    public String getComponentJSonSchema(String name) {
        final String file = camelCatalog.getRuntimeProvider().getComponentJSonSchemaDirectory() + "/" + name + EXTENSION;

        final String fromVersionManager = loadResourceFromVersionManager(file);
        if (fromVersionManager != null) {
            return fromVersionManager;
        }

         
        final String answer = extraComponentsJSonSchema.get(name);
        if (answer != null) {
            return answer;
        }

         
        final String className = extraComponents.get(name);
        return loadFromClasspath(className, name);
    }
ID: 23_32
ClassID: 23
File: systems/camel-java/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #3901 Negative (Non-Clone)
ID: 3255_2607
ClassID: 3255
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
Name: org.apache.camel.throttling.ThrottlingExceptionRoutePolicy.openCircuit(Route route)
    protected void openCircuit(Route route) {
        try {
            lock.lock();
            suspendOrStopConsumer(route.getConsumer());
            state.set(STATE_OPEN);
            openedAt = System.currentTimeMillis();
            this.addHalfOpenTimer(route);
            logState();
        } catch (Exception e) {
            handleException(e);
        } finally {
            lock.unlock();
        }
    }
ID: 255_327
ClassID: 255
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
    private Queue<Exchange> createBatchExchangesFromPath(final DataLakeFileSystemClient dataLakeFileSystemClient)
            throws IOException {
        final DataLakeFileSystemClientWrapper fileSystemClientWrapper
                = new DataLakeFileSystemClientWrapper(dataLakeFileSystemClient);
        final DataLakeFileSystemOperations fileSystemOperations
                = new DataLakeFileSystemOperations(getEndpoint().getConfiguration(), fileSystemClientWrapper);

        final List<PathItem> items = (List<PathItem>) fileSystemOperations.listPaths(null).getBody();

         
        forceConsumerAsReady();

        final Queue<Exchange> exchanges = new LinkedList<>();
        for (PathItem pathItem : items) {
            if (!pathItem.isDirectory()) {
                exchanges.add(createExchangeFromFile(pathItem.getName(), dataLakeFileSystemClient));
            }
        }
        return exchanges;
    }
Pair #3902 Negative (Non-Clone)
ID: 1323_1232
ClassID: 1323
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
Name: org.apache.camel.component.openshift.builds.OpenshiftBuildsProducer.doListBuildByLabels(Exchange exchange)
    protected void doListBuildByLabels(Exchange exchange) {
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_BUILDS_LABELS, Map.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        BuildList buildList;
        if (!ObjectHelper.isEmpty(namespaceName)) {
            buildList = getEndpoint().getKubernetesClient()
                    .adapt(OpenShiftClient.class).builds().inNamespace(namespaceName).withLabels(labels).list();
        } else {
            buildList = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).builds()
                    .inAnyNamespace().withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, buildList.getItems());
    }
ID: 104_91
ClassID: 104
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.createGroup(Keycloak keycloakClient, Exchange exchange)
    private void createGroup(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof GroupRepresentation) {
                Response response = keycloakClient.realm(realmName).groups().add((GroupRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody(response);
            }
        } else {
            GroupRepresentation group = new GroupRepresentation();
            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME))) {
                String groupName = exchange.getIn().getHeader(KeycloakConstants.GROUP_NAME, String.class);
                group.setName(groupName);
            } else {
                throw new IllegalArgumentException(MISSING_GROUP_NAME);
            }
            Response response = keycloakClient.realm(realmName).groups().add(group);
            Message message = getMessageForResponse(exchange);
            message.setBody(response);
        }
    }
Pair #3903 Negative (Non-Clone)
ID: 1036_892
ClassID: 1036
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathHandler.java
Name: org.apache.camel.component.undertow.handlers.CamelPathHandler.removeExactPath(final String path)
    public PathHandler removeExactPath(final String path) {
        lock.lock();
        try {
            super.removeExactPath(path);
            handlers.remove(path);
            handlerString = null;
            return this;
        } finally {
            lock.unlock();
        }
    }
ID: 3180_2459
ClassID: 3180
File: systems/camel-java/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
Name: org.apache.camel.converter.jaxp.StaxConverter.createXMLEventReader(InputStream in, Exchange exchange)
    public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
        XMLInputFactory factory = getInputFactory();
        try {
            String charsetName = ExchangeHelper.getCharsetName(exchange, false);
            if (charsetName == null) {
                return factory.createXMLEventReader(IOHelper.buffered(in));
            } else {
                return factory.createXMLEventReader(IOHelper.buffered(in), charsetName);
            }
        } finally {
            returnXMLInputFactory(factory);
        }
    }
Pair #3904 Negative (Non-Clone)
ID: 3278_2661
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.isGreaterThanOrEqualTo(final Expression left, final Expression right)
    public static Predicate isGreaterThanOrEqualTo(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceCompare(exchange.getContext().getTypeConverter(), leftValue, rightValue) >= 0;
            }

            protected String getOperationText() {
                return ">=";
            }
        };
    }
ID: 975_821
ClassID: 975
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.remove(final CamelContext camelContext, final String correlationId, final Exchange exchange)
    public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                final String confirmKey = exchange.getExchangeId();
                final long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
                try {
                    LOG.debug("Removing key {}", correlationId);
                    String table = getRepositoryName();
                    verifyTableName(table);
                    jdbcTemplate.update("DELETE FROM " + table + " WHERE " + ID + " = ? AND " + VERSION + " = ?",  
                            correlationId, version);

                    insert(camelContext, confirmKey, exchange, getRepositoryNameCompleted(), version);
                    LOG.debug("Removed key {}", correlationId);

                } catch (Exception e) {
                    throw new RuntimeException("Error removing key " + correlationId + " from repository " + repositoryName, e);
                }
            }
        });
    }
Pair #3905 Negative (Non-Clone)
ID: 3102_2378
ClassID: 3102
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/SendDefinition.java
Name: org.apache.camel.model.SendDefinition.getLabel()
    public String getLabel() {
        if (endpointUriToString == null) {
            String value = null;
            try {
                value = getEndpointUri();
            } catch (RuntimeException e) {
                 
            }
             
            endpointUriToString = URISupport.sanitizeUri(value);
        }

        String uri = endpointUriToString;
        return "to[" + uri + "]";
    }
ID: 2570_2152
ClassID: 2570
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
Name: org.apache.camel.maven.packaging.SchemaGeneratorMojo.getType(String type, boolean enumType, boolean isDuration)
    public static String getType(String type, boolean enumType, boolean isDuration) {
        if (enumType) {
            return "enum";
        } else if (isDuration) {
            return "duration";
        } else if (type == null) {
             
            return "object";
        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
            return "string";
        } else if (type.equals(File.class.getName())) {
            return "string";
        } else if (type.equals(Date.class.getName())) {
            return "string";
        } else if (type.startsWith("java.lang.Class")) {
            return "string";
        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
            return "array";
        }

        String primitive = getPrimitiveType(type);
        if (primitive != null) {
            return primitive;
        }

        return "object";
    }
Pair #3906 Negative (Non-Clone)
ID: 174_136
ClassID: 174
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultAnalyticsApiClient.getReportInstances(String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback)
    public void getReportInstances(
            String reportId, final Map<String, List<String>> headers, final ReportInstanceListResponseCallback callback) {

        final Request request = getRequest(HttpMethod.GET, reportInstancesUrl(reportId), headers);

        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                List<ReportInstance> reportInstances = null;
                if (response != null) {
                    try {
                        reportInstances = unmarshalResponse(response, request, TypeReferences.REPORT_INSTANCE_LIST_TYPE);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(reportInstances, headers, ex);
            }
        });
    }
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
Pair #3907 Negative (Non-Clone)
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
ID: 3163_2414
ClassID: 3163
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoundRobinLoadBalancer.java
Name: org.apache.camel.management.mbean.ManagedRoundRobinLoadBalancer.getLastChosenProcessorId()
    public String getLastChosenProcessorId() {
        int idx = getProcessor().getLastChosenProcessorIndex();
        if (idx != -1) {
            LoadBalanceDefinition def = getDefinition();
            ProcessorDefinition<?> output = def.getOutputs().get(idx);
            if (output != null) {
                return output.getId();
            }
        }
        return null;
    }
Pair #3908 Negative (Non-Clone)
ID: 576_546
ClassID: 576
File: systems/camel-java/components/camel-minio/src/main/java/org/apache/camel/component/minio/MinioProducer.java
Name: org.apache.camel.component.minio.MinioProducer.getPartialObject(MinioClient minioClient, Exchange exchange)
    private void getPartialObject(MinioClient minioClient, Exchange exchange) throws Exception {

        if (getConfiguration().isPojoRequest()) {
            GetObjectArgs.Builder payload = exchange.getIn().getMandatoryBody(GetObjectArgs.Builder.class);
            if (isNotEmpty(payload)) {
                InputStream respond = minioClient.getObject(payload.build());
                Message message = getMessageForResponse(exchange);
                message.setBody(respond);
            }
        } else {
            final String bucketName = determineBucketName(exchange);
            final String sourceKey = determineObjectName(exchange);
            final String offset = exchange.getIn().getHeader(MinioConstants.OFFSET, String.class);
            final String length = exchange.getIn().getHeader(MinioConstants.LENGTH, String.class);

            if (isEmpty(offset) || isEmpty(length)) {
                throw new IllegalArgumentException(
                        "A Offset and length header must be configured to perform a partial get operation.");
            }

            InputStream respond = minioClient.getObject(GetObjectArgs.builder()
                    .bucket(bucketName)
                    .object(sourceKey)
                    .offset(Long.parseLong(offset))
                    .length(Long.parseLong(length))
                    .build());

            Message message = getMessageForResponse(exchange);
            message.setBody(respond);
        }
    }
ID: 1489_1327
ClassID: 1489
File: systems/camel-java/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
Name: org.apache.camel.component.atmosphere.websocket.CamelWebSocketServlet.doService(HttpServletRequest request, HttpServletResponse response)
    protected void doService(HttpServletRequest request, HttpServletResponse response) {
        log.trace("Service: {}", request);
        try {
            handleDoService(request, response);
        } catch (Exception e) {
             
            log.warn("Error handling request due to: {}", e.getMessage(), e);
            try {
                if (!response.isCommitted()) {
                    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                }
            } catch (Exception e1) {
                 
            }
        }
    }
Pair #3909 Negative (Non-Clone)
ID: 338_384
ClassID: 338
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5SendDynamicAware.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5SendDynamicAware.resolveStaticUri(Exchange exchange, DynamicAwareEntry entry)
    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
        String topic = parseTopicName(entry.getUri());
        if (topic != null) {
            String originalTopic = parseTopicName(entry.getOriginalUri());
            if (!topic.equals(originalTopic)) {
                 
                String answer = entry.getUri();
                answer = StringHelper.replaceFirst(answer, topic, originalTopic);
                return answer;
            }
        }
        return null;
    }
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #3910 Negative (Non-Clone)
ID: 1719_1432
ClassID: 1719
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/GroupIterator.java
Name: org.apache.camel.support.GroupIterator.hasNext()
    public boolean hasNext() {
        if (closed) {
            return false;
        }

        boolean answer = it.hasNext();
        if (!answer) {
             
            try {
                close();
            } catch (IOException e) {
                 
            }
        }
        return answer;
    }
ID: 837_720
ClassID: 837
File: systems/camel-java/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
Name: org.apache.camel.component.paho.PahoEndpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
Pair #3911 Negative (Non-Clone)
ID: 380_418
ClassID: 380
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsSendDynamicAware.java
Name: org.apache.camel.component.sjms.SjmsSendDynamicAware.parseDestinationName(String uri)
    private String parseDestinationName(String uri) {
         
        uri = uri.replaceFirst(scheme + "://", ":");
        uri = StringHelper.before(uri, "?", uri);

         
        int pos = uri.lastIndexOf(':');
        if (pos != -1) {
            return uri.substring(pos + 1);
        } else {
            return null;
        }
    }
ID: 973_817
ClassID: 973
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.contains(final String key)
    public boolean contains(final String key) {
         
        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
            public Boolean doInTransaction(TransactionStatus status) {
                int count = queryForInt(key);
                if (count == 0) {
                    return Boolean.FALSE;
                } else {
                    return Boolean.TRUE;
                }
            }
        });
        return rc.booleanValue();

    }
Pair #3912 Negative (Non-Clone)
ID: 219_244
ClassID: 219
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbProducer.java
Name: org.apache.camel.component.azure.cosmosdb.CosmosDbProducer.setThroughputResponseOnExchange(final Exchange exchange)
    private Consumer<ThroughputResponse> setThroughputResponseOnExchange(final Exchange exchange) {
        return response -> {
            if (ObjectHelper.isNotEmpty(response.getProperties())) {
                setMessageHeader(exchange, CosmosDbConstants.AUTOSCALE_MAX_THROUGHPUT,
                        response.getProperties().getAutoscaleMaxThroughput());
                setMessageHeader(exchange, CosmosDbConstants.MANUAL_THROUGHPUT, response.getProperties().getManualThroughput());
                setMessageHeader(exchange, CosmosDbConstants.E_TAG, response.getProperties().getETag());
                setMessageHeader(exchange, CosmosDbConstants.TIMESTAMP, response.getProperties().getTimestamp());
            }
            setCommonResponseOnExchange(exchange, response);
        };
    }
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
Pair #3913 Negative (Non-Clone)
ID: 689_629
ClassID: 689
File: systems/camel-java/components/camel-kudu/src/main/java/org/apache/camel/component/kudu/KuduProducer.java
Name: org.apache.camel.component.kudu.KuduProducer.doUpsert(Exchange exchange, String tableName)
    private void doUpsert(Exchange exchange, String tableName) throws KuduException {
        LOG.trace("Upsert on table {}", tableName);
        KuduClient connection = endpoint.getKuduClient();
        KuduTable table = connection.openTable(tableName);

        Upsert upsert = table.newUpsert();
        PartialRow row = upsert.getRow();

        Map<?, ?> rows = exchange.getIn().getBody(Map.class);
        for (Map.Entry<?, ?> entry : rows.entrySet()) {
            final String colName = entry.getKey().toString();
            final Object value = entry.getValue();
            if (table.getSchema().getColumn(colName) != null) {
                row.addObject(colName, value);
            }
        }

        connection.newSession().apply(upsert);
    }
ID: 1310_1180
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
Name: org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PersistentVolumeClaimList pvcList;

        if (ObjectHelper.isEmpty(namespace)) {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inAnyNamespace().list();
        } else {
            pvcList = getEndpoint().getKubernetesClient().persistentVolumeClaims().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, pvcList.getItems());
    }
Pair #3914 Negative (Non-Clone)
ID: 241_305
ClassID: 241
File: systems/camel-java/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
Name: org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole.doCallText(Map<String, Object> options)
    protected String doCallText(Map<String, Object> options) {
        StringBuilder sb = new StringBuilder();

        if (propertiesFunction != null) {
            sb.append("Azure Key Vault Secret Manager:");
            sb.append("\n    Login: Client Id/Client Secret");
            AzureVaultConfiguration azure = getCamelContext().getVaultConfiguration().getAzureVaultConfiguration();
            if (azure != null) {
                sb.append(String.format("\n    Refresh Enabled: %s", azure.isRefreshEnabled()));
                sb.append(String.format("\n    Refresh Period: %s", azure.getRefreshPeriod()));
            }
            if (secretsRefreshTask != null) {
                Instant last = secretsRefreshTask.getLastCheckTime();
                String s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Check: %s", s));
                last = secretsRefreshTask.getLastReloadTime();
                s = last != null ? TimeUtils.printSince(last.toEpochMilli()) : "none";
                sb.append(String.format("\n    Last Reload: %s", s));
            }
            sb.append("\n\nSecrets in use:");

            List<String> sorted = new ArrayList<>(propertiesFunction.getSecrets());
            Collections.sort(sorted);

            for (String sec : sorted) {
                Instant last = secretsRefreshTask != null ? secretsRefreshTask.getUpdates().get(sec) : null;
                String age = last != null ? TimeUtils.printSince(last.toEpochMilli()) : null;
                if (age != null) {
                    sb.append(String.format("\n    %s (age: %s)", sec, age));
                } else {
                    sb.append(String.format("\n    %s", sec));
                }
            }
        }

        return sb.toString();
    }
ID: 633_562
ClassID: 633
File: systems/camel-java/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/CronScheduledRoutePolicy.java
Name: org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy.doOnInit(Route route)
    protected void doOnInit(Route route) {
        QuartzComponent quartz = route.getCamelContext().getComponent("quartz", QuartzComponent.class);
        quartz.addScheduleInitTask(scheduler -> {
            setScheduler(scheduler);

             
             

            if (getRouteStopGracePeriod() == 0) {
                setRouteStopGracePeriod(10000);
            }

            if (getTimeUnit() == null) {
                setTimeUnit(TimeUnit.MILLISECONDS);
            }

             
            if (getRouteStartTime() == null && getRouteStopTime() == null && getRouteSuspendTime() == null
                    && getRouteResumeTime() == null) {
                throw new IllegalArgumentException(
                        "Scheduled Route Policy for route " + route.getId()
                                                   + " has no start/stop/suspend/resume times specified");
            }

            registerRouteToScheduledRouteDetails(route);
            if (getRouteStartTime() != null) {
                scheduleRoute(Action.START, route);
            }
            if (getRouteStopTime() != null) {
                scheduleRoute(Action.STOP, route);
            }

            if (getRouteSuspendTime() != null) {
                scheduleRoute(Action.SUSPEND, route);
            }
            if (getRouteResumeTime() != null) {
                scheduleRoute(Action.RESUME, route);
            }
        });
    }
Pair #3915 Negative (Non-Clone)
ID: 2635_2267
ClassID: 2635
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultContextServiceLoaderPlugin.java
Name: org.apache.camel.impl.engine.DefaultContextServiceLoaderPlugin.doStart()
    protected void doStart() throws Exception {
        contextServicePlugins = ServiceLoader.load(ContextServicePlugin.class,
                camelContext.getApplicationContextClassLoader());
        for (ContextServicePlugin plugin : contextServicePlugins) {
            try {
                plugin.load(camelContext);
            } catch (Exception e) {
                LOG.warn(
                        "Loading of plugin {} failed, however the exception will be ignored so others plugins can be initialized. Reason: {}",
                        plugin.getClass().getName(), e.getMessage(), e);
            }
        }
    }
ID: 1403_1252
ClassID: 1403
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitSmCommand.createSubmitSm(Exchange exchange)
    protected SubmitSm[] createSubmitSm(Exchange exchange) throws SmppException {
        Message message = exchange.getIn();
        SubmitSm template = createSubmitSmTemplate(exchange);
        byte[][] segments = splitBody(message);

         
        ESMClass esmClass = message.getHeader(SmppConstants.ESM_CLASS, ESMClass.class);
        if (esmClass != null) {
            template.setEsmClass(esmClass.value());
        } else if (segments.length > 1) {
             
            template.setEsmClass(new ESMClass(MessageMode.DEFAULT, MessageType.DEFAULT, GSMSpecificFeature.UDHI).value());
        }

        SubmitSm[] submitSms = new SubmitSm[segments.length];
        for (int i = 0; i < segments.length; i++) {
            SubmitSm submitSm = SmppUtils.copySubmitSm(template);
            submitSm.setShortMessage(segments[i]);
            submitSms[i] = submitSm;
        }
        setRegisterDeliveryReceiptFlag(submitSms, message);
        return submitSms;
    }
Pair #3916 Negative (Non-Clone)
ID: 908_783
ClassID: 908
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsClientFactory.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsClientFactory.create(CamelContext context, GoogleCloudFunctionsConfiguration configuration)
    public static CloudFunctionsServiceClient create(
            CamelContext context,
            GoogleCloudFunctionsConfiguration configuration)
            throws Exception {
        CloudFunctionsServiceClient cloudFunctionsClient = null;
        if (!Strings.isNullOrEmpty(configuration.getServiceAccountKey())) {
            InputStream resolveMandatoryResourceAsInputStream
                    = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configuration.getServiceAccountKey());
            Credentials myCredentials = ServiceAccountCredentials
                    .fromStream(resolveMandatoryResourceAsInputStream);
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder()
                    .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)).build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        } else {
             
             
             
            CloudFunctionsServiceSettings settings = CloudFunctionsServiceSettings.newBuilder().build();
            cloudFunctionsClient = CloudFunctionsServiceClient.create(settings);
        }
        return cloudFunctionsClient;
    }
ID: 3278_2664
ClassID: 3278
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
Name: org.apache.camel.support.builder.PredicateBuilder.containsIgnoreCase(final Expression left, final Expression right)
    public static Predicate containsIgnoreCase(final Expression left, final Expression right) {
        return new BinaryPredicateSupport(left, right) {

            protected boolean matches(Exchange exchange, Object leftValue, Object rightValue) {
                if (leftValue == null && rightValue == null) {
                     
                    return true;
                } else if (leftValue == null || rightValue == null) {
                     
                    return false;
                }

                return ObjectHelper.typeCoerceContains(exchange.getContext().getTypeConverter(), leftValue, rightValue, true);
            }

            protected String getOperationText() {
                return "~~";
            }
        };
    }
Pair #3917 Negative (Non-Clone)
ID: 3268_2636
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanResourceResolver.doFind(String packageName, ClassLoader classLoader, Set<Resource> resources, String subPattern, Predicate<String> filter)
    protected void doFind(
            String packageName,
            ClassLoader classLoader,
            Set<Resource> resources,
            String subPattern,
            Predicate<String> filter) {

        Enumeration<URL> urls = getUrls(packageName, classLoader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for resources in: {} matching pattern: {}", urlPath, subPattern);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(subPattern, packageName, file, resources, filter);
                } else {
                    InputStream stream;
                    if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                            || urlPath.startsWith("sonicfs:")
                            || isAcceptableScheme(urlPath)) {
                         
                         
                        LOG.trace("Loading from jar using url: {}", urlPath);
                        URL urlStream = URI.create(urlPath).toURL();
                        URLConnection con = urlStream.openConnection();
                         
                        con.setUseCaches(false);
                        stream = con.getInputStream();
                    } else {
                        LOG.trace("Loading from jar using file: {}", file);
                        stream = new FileInputStream(file);
                    }
                    loadImplementationsInJar(url, packageName, subPattern, stream, urlPath, resources, filter);
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
ID: 1458_1309
ClassID: 1458
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.waitForInstanceStart(Exchange exchange, DaprWorkflowClient client)
    private DaprOperationResponse waitForInstanceStart(Exchange exchange, DaprWorkflowClient client) {
        String instanceId = configurationOptionsProxy.getWorkflowInstanceId(exchange);
        Duration timeout = configurationOptionsProxy.getTimeout(exchange);
        boolean getWorkflowIO = configurationOptionsProxy.getWorkflowIO(exchange);

        try {
            WorkflowInstanceStatus response = client.waitForInstanceStart(instanceId, timeout, getWorkflowIO);
            return DaprOperationResponse.createFromWorkflowStatus(response);
        } catch (TimeoutException exception) {
            throw new RuntimeCamelException(
                    "Workflow instance " + instanceId + " could not be started in " + timeout, exception);
        }
    }
Pair #3918 Negative (Non-Clone)
ID: 1400_1245
ClassID: 1400
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSplitter.java
Name: org.apache.camel.component.smpp.SmppSplitter.split(byte[] message)
    public byte[][] split(byte[] message) {
        if (!isSplitRequired()) {
            return new byte[][] { message };
        }

        int segmentLength = getSegmentLength();

         
        int segmentNum = message.length / segmentLength;
        int messageLength = message.length;
        if (segmentNum > MAX_SEG_COUNT) {
             
            segmentNum = MAX_SEG_COUNT;
            messageLength = segmentNum * segmentLength;
        }
        if ((messageLength % segmentLength) > 0) {
            segmentNum++;
        }

        byte[][] segments = new byte[segmentNum][];

        int lengthOfData;
        byte refNum = getReferenceNumber();
        for (int i = 0; i < segmentNum; i++) {
            LOG.trace("segment number = {}", i);
            if (segmentNum - i == 1) {
                lengthOfData = messageLength - i * segmentLength;
            } else {
                lengthOfData = segmentLength;
            }
            LOG.trace("Length of data = {}", lengthOfData);

            segments[i] = new byte[UDHIE_HEADER_REAL_LENGTH + lengthOfData];
            LOG.trace("segments[{}].length = {}", i, segments[i].length);

            segments[i][0] = UDHIE_HEADER_LENGTH;  
             
            segments[i][1] = UDHIE_IDENTIFIER_SAR;
             
            segments[i][2] = UDHIE_SAR_LENGTH;
             
            segments[i][3] = refNum;
             
            segments[i][4] = (byte) segmentNum;
             
            segments[i][5] = (byte) (i + 1);
             
            System.arraycopy(message, i * segmentLength, segments[i], UDHIE_HEADER_REAL_LENGTH, lengthOfData);
        }

        return segments;
    }
ID: 1148_989
ClassID: 1148
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/CounterProducer.java
Name: org.apache.camel.opentelemetry.metrics.CounterProducer.getInstrument(String name, String description)
    protected LongUpDownCounter getInstrument(String name, String description) {
        LongUpDownCounter counter = counters.get(name);
        if (counter == null) {
            synchronized (lock) {
                counter = counters.get(name);
                if (counter == null) {
                    Meter meter = getEndpoint().getMeter();
                    LongUpDownCounterBuilder builder = meter.upDownCounterBuilder(name);
                    if (description != null) {
                        builder.setDescription(description);
                    }
                    counter = builder.build();
                    counters.put(name, counter);
                }
            }
        }
        return counter;
    }
Pair #3919 Negative (Non-Clone)
ID: 3259_2617
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Supplier<Object> defaultValueSupplier)
    public Object getHeader(String name, Supplier<Object> defaultValueSupplier) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValueSupplier.get();
    }
ID: 2339_1842
ClassID: 2339
File: systems/camel-java/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
Name: org.apache.camel.component.aws2.sqs.Sqs2Configuration.setMessageDeduplicationIdStrategy(String strategy)
    public void setMessageDeduplicationIdStrategy(String strategy) {
        if ("useExchangeId".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
        } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
            messageDeduplicationIdStrategy = new NullMessageDeduplicationIdStrategy();
        } else {
            throw new IllegalArgumentException("Unrecognised MessageDeduplicationIdStrategy: " + strategy);
        }
    }
Pair #3920 Negative (Non-Clone)
ID: 972_814
ClassID: 972
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcOrphanLockAwareIdempotentRepository.java
Name: org.apache.camel.processor.idempotent.jdbc.JdbcOrphanLockAwareIdempotentRepository.equals(Object obj)
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;

            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            ProcessorNameAndMessageId other = (ProcessorNameAndMessageId) obj;
            if (messageId == null) {
                if (other.messageId != null) {
                    return false;
                }
            } else if (!messageId.equals(other.messageId)) {
                return false;
            }
            if (processorName == null) {
                if (other.processorName != null) {
                    return false;
                }
            } else if (!processorName.equals(other.processorName)) {
                return false;
            }
            return true;
        }
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
Pair #3921 Negative (Non-Clone)
ID: 2400_1891
ClassID: 2400
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapProducer.java
Name: org.apache.camel.component.hazelcast.multimap.HazelcastMultimapProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        Map<String, Object> headers = exchange.getIn().getHeaders();

         
        Object oid = null;

        if (headers.containsKey(HazelcastConstants.OBJECT_ID)) {
            oid = headers.get(HazelcastConstants.OBJECT_ID);
        }

        final HazelcastOperation operation = lookupOperation(exchange);

        switch (operation) {
            case PUT:
                this.put(oid, exchange);
                break;

            case GET:
                this.get(oid, exchange);
                break;

            case DELETE:
                this.delete(oid);
                break;

            case REMOVE_VALUE:
                this.removevalue(oid, exchange);
                break;

            case CONTAINS_KEY:
                this.containsKey(oid, exchange);
                break;

            case CONTAINS_VALUE:
                this.containsValue(exchange);
                break;

            case CLEAR:
                this.clear();
                break;

            case VALUE_COUNT:
                this.valuecount(oid, exchange);
                break;

            default:
                throw new IllegalArgumentException(
                        String.format("The value '%s' is not allowed for parameter '%s' on the MULTIMAP cache.", operation,
                                HazelcastConstants.OPERATION));
        }

         
        HazelcastComponentHelper.copyHeaders(exchange);
    }
ID: 1138_980
ClassID: 1138
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/AbstractGitHubConsumer.java
Name: org.apache.camel.component.github.consumer.AbstractGitHubConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();
        int answer = total;
        if (this.maxMessagesPerPoll > 0 && total > this.maxMessagesPerPoll) {
            LOG.debug("Limiting to maximum messages to poll {} as there were {} messages in this poll.",
                    this.maxMessagesPerPoll, total);
            total = this.maxMessagesPerPoll;
        }

        for (int index = 0; index < total && this.isBatchAllowed(); ++index) {
            Exchange exchange = (Exchange) exchanges.poll();
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);
            this.pendingExchanges = total - index - 1;
            getProcessor().process(exchange);
        }

        return answer;
    }
Pair #3922 Negative (Non-Clone)
ID: 220_247
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/transform/AzureFilesCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.file.azure.transform.AzureFilesCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.storage.files.poll");

        if (message.getHeaders().containsKey(FilesConstants.FILE_HOST)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "azure.storage.files." + message.getHeader(FilesConstants.FILE_HOST, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(FilesConstants.FILE_NAME, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 2385_1876
ClassID: 2385
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.doStop()
    protected void doStop() throws Exception {
        if (connection != null) {
            for (IrcChannel channel : endpoint.getConfiguration().getChannelList()) {
                LOG.debug("Parting: {}", channel);
                connection.doPart(channel.getName());
            }
            connection.removeIRCEventListener(listener);
        }
        super.doStop();
    }
Pair #3923 Negative (Non-Clone)
ID: 1318_1223
ClassID: 1318
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsDevConsole.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsDevConsole.doCallJson(Map<String, Object> options)
    protected JsonObject doCallJson(Map<String, Object> options) {
        JsonObject root = new JsonObject();
        if (propertiesFunction != null) {
            KubernetesClient client = propertiesFunction.getClient();
            if (client != null && client.getMasterUrl() != null) {
                root.put("masterUrl", client.getMasterUrl().toString());
                root.put("login", "OAuth Token");
            }
        }
        KubernetesVaultConfiguration kubernetes = getCamelContext().getVaultConfiguration().getKubernetesVaultConfiguration();
        if (kubernetes != null) {
            root.put("refreshEnabled", kubernetes.isRefreshEnabled());
        }
        if (secretsRefreshTask != null) {
            Instant start = secretsRefreshTask.getStartingTime();
            if (start != null) {
                long timestamp = start.toEpochMilli();
                root.put("startCheckTimestamp", timestamp);
            }
        }
        JsonArray arr = new JsonArray();
        root.put("secrets", arr);

        List<String> sorted = new ArrayList<>(List.of(kubernetes.getSecrets().split(",")));
        Collections.sort(sorted);

        for (String sec : sorted) {
            JsonObject jo = new JsonObject();
            jo.put("name", sec);
            arr.add(jo);
        }
        return root;
    }
ID: 2477_2021
ClassID: 2477
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListRest.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ListRest.getContent(Row r)
    private String getContent(Row r) {
        StringJoiner sj = new StringJoiner("   ");
        if (r.consumes != null || r.produces != null) {
            if (r.consumes != null) {
                sj.add("accept: " + r.consumes);
            }
            if (r.produces != null) {
                sj.add("produces: " + r.produces);
            }
        }
        if (sj.length() > 0) {
            return sj.toString();
        }
        return "";
    }
Pair #3924 Negative (Non-Clone)
ID: 597_552
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
Name: org.apache.camel.component.fhir.FhirJsonDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newJsonParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));

        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 2513_2069
ClassID: 2513
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
Name: org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asStringSet(Node node)
    public static Set<String> asStringSet(Node node) {
        if (node == null) {
            return null;
        }

        final Set<String> answer;

        if (node.getNodeType() == NodeType.SCALAR) {
            answer = asStringSet(asText(node));
        } else if (node.getNodeType() == NodeType.SEQUENCE) {
            answer = new LinkedHashSet<>();
            for (Node item : asSequenceNode(node).getValue()) {
                answer.add(asText(item));
            }
        } else {
            throw new UnsupportedNodeTypeException(node);
        }

        return answer;
    }
Pair #3925 Negative (Non-Clone)
ID: 1444_1301
ClassID: 1444
File: systems/camel-java/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/internal/AS2ConnectionHelper.java
Name: org.apache.camel.component.as2.internal.AS2ConnectionHelper.createAS2ServerConnection(AS2Configuration configuration)
    public static AS2ServerConnection createAS2ServerConnection(AS2Configuration configuration) throws IOException {
        try {
            return serverConnections.computeIfAbsent(
                    configuration.getServerPortNumber(),
                    key -> {
                        try {
                            return new AS2ServerConnection(
                                    configuration.getAs2Version(), configuration.getServer(),
                                    configuration.getServerFqdn(), configuration.getServerPortNumber(),
                                    configuration.getSigningAlgorithm(),
                                    configuration.getSigningCertificateChain(),
                                    configuration.getSigningPrivateKey(),
                                    configuration.getDecryptingPrivateKey(),
                                    configuration.getMdnMessageTemplate(),
                                    configuration.getValidateSigningCertificateChain(),
                                    configuration.getSslContext(),
                                    configuration.getMdnUserName(), configuration.getMdnPassword(),
                                    configuration.getMdnAccessToken());
                        } catch (IOException e) {
                            throw new UncheckedIOException(e);
                        }
                    });
        } catch (UncheckedIOException e) {
            throw e.getCause();
        }
    }
ID: 1332_1236
ClassID: 1332
File: systems/camel-java/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/server/GrpcRequestPropagationStreamObserver.java
Name: org.apache.camel.component.grpc.server.GrpcRequestPropagationStreamObserver.onNext(Object request)
    public void onNext(Object request) {
        CountDownLatch latch = new CountDownLatch(1);

        exchange = endpoint.createExchange();
        exchange.getIn().setBody(request);
        exchange.getIn().setHeaders(headers);

        consumer.process(exchange, doneSync -> latch.countDown());

        try {
            latch.await();

            Object responseBody = exchange.getMessage().getBody();
            if (responseBody instanceof List) {
                List<?> responseList = (List<?>) responseBody;
                responseList.forEach(responseObserver::onNext);
            } else {
                responseObserver.onNext(responseBody);
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            responseObserver.onError(e);

        }
    }
Pair #3926 Negative (Non-Clone)
ID: 350_403
ClassID: 350
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowClient.java
Name: org.apache.camel.component.servicenow.ServiceNowClient.configureHttpClientPolicy(ServiceNowConfiguration configuration, WebClient client)
    private static void configureHttpClientPolicy(
            ServiceNowConfiguration configuration, WebClient client) {

        HTTPClientPolicy httpPolicy = configuration.getHttpClientPolicy();
        if (httpPolicy == null) {
            String host = configuration.getProxyHost();
            Integer port = configuration.getProxyPort();

            if (host != null && port != null) {
                httpPolicy = new HTTPClientPolicy();
                httpPolicy.setProxyServer(host);
                httpPolicy.setProxyServerPort(port);
            }
        }

        if (httpPolicy != null) {
            WebClient.getConfig(client).getHttpConduit().setClient(httpPolicy);
        }
    }
ID: 438_457
ClassID: 438
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerInitializerFactory.java
Name: org.apache.camel.component.netty.DefaultServerInitializerFactory.configureServerSSLOnDemand()
    private SslHandler configureServerSSLOnDemand() {
        if (!consumer.getConfiguration().isSsl()) {
            return null;
        }

        if (consumer.getConfiguration().getSslHandler() != null) {
            return consumer.getConfiguration().getSslHandler();
        } else if (sslContext != null) {
            SSLEngine engine = sslContext.createSSLEngine();
            engine.setUseClientMode(consumer.getConfiguration().isClientMode());
            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
            if (consumer.getConfiguration().isHostnameVerification()) {
                SSLParameters sslParams = engine.getSSLParameters();
                sslParams.setEndpointIdentificationAlgorithm("HTTPS");
                engine.setSSLParameters(sslParams);
            }
            if (consumer.getConfiguration().getSslContextParameters() == null) {
                 
                engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
            }
            return new SslHandler(engine);
        }

        return null;
    }
Pair #3927 Negative (Non-Clone)
ID: 2243_1763
ClassID: 2243
File: systems/camel-java/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
Name: org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConsumer.doStart()
    protected void doStart() throws Exception {
        super.doStart();

        if (getConfiguration().hasQueryBuilder()) {
            handler = new ContinuousQueryHandler();
        } else {
            handler = new ConsumerHandler();
        }

        ServiceHelper.startService(handler);
    }
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3928 Negative (Non-Clone)
ID: 1498_1343
ClassID: 1498
File: systems/camel-java/components/camel-printer/src/main/java/org/apache/camel/component/printer/DocFlavorAssigner.java
Name: org.apache.camel.component.printer.DocFlavorAssigner.forMimeTypePDF(String flavor)
    public DocFlavor forMimeTypePDF(String flavor) {
        if (flavor.equalsIgnoreCase("DocFlavor.BYTE_ARRAY")) {
            d = DocFlavor.BYTE_ARRAY.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.INPUT_STREAM")) {
            d = DocFlavor.INPUT_STREAM.PDF;
        } else if (flavor.equalsIgnoreCase("DocFlavor.URL")) {
            d = DocFlavor.URL.PDF;
        }

        return d;
    }
ID: 103_75
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateIdentityProvider(Keycloak keycloakClient, Exchange exchange)
    private void updateIdentityProvider(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String idpAlias = exchange.getIn().getHeader(KeycloakConstants.IDP_ALIAS, String.class);
        if (ObjectHelper.isEmpty(idpAlias)) {
            throw new IllegalArgumentException("Identity provider alias must be specified");
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof IdentityProviderRepresentation) {
                keycloakClient.realm(realmName).identityProviders().get(idpAlias)
                        .update((IdentityProviderRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Identity provider updated successfully");
            }
        } else {
            throw new IllegalArgumentException(
                    "Update identity provider requires POJO request with IdentityProviderRepresentation");
        }
    }
Pair #3929 Negative (Non-Clone)
ID: 1406_1259
ClassID: 1406
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprPubSubConsumer.java
Name: org.apache.camel.component.dapr.consumer.DaprPubSubConsumer.createServiceBusExchange(final CloudEvent<byte[]> cloudEvent)
    private Exchange createServiceBusExchange(final CloudEvent<byte[]> cloudEvent) {
        final Exchange exchange = createExchange(true);
        final Message message = exchange.getIn();

         
        message.setBody(cloudEvent.getData());

         
        message.setHeader(DaprConstants.PUBSUB_NAME, cloudEvent.getPubsubName());
        message.setHeader(DaprConstants.TOPIC, cloudEvent.getTopic());
        message.setHeader(DaprConstants.ID, cloudEvent.getId());
        message.setHeader(DaprConstants.SOURCE, cloudEvent.getSource());
        message.setHeader(DaprConstants.TYPE, cloudEvent.getType());
        message.setHeader(DaprConstants.SPECIFIC_VERSION, cloudEvent.getSpecversion());
        message.setHeader(DaprConstants.DATA_CONTENT_TYPE, cloudEvent.getDatacontenttype());
        message.setHeader(DaprConstants.BINARY_DATA, cloudEvent.getBinaryData());
        message.setHeader(DaprConstants.TIME, cloudEvent.getTime());
        message.setHeader(DaprConstants.TRACE_PARENT, cloudEvent.getTraceParent());
        message.setHeader(DaprConstants.TRACE_STATE, cloudEvent.getTraceState());

        return exchange;
    }
ID: 2531_2106
ClassID: 2531
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderPropertiesComponent.java
Name: org.apache.camel.main.download.DependencyDownloaderPropertiesComponent.autoConfigure(String key)
    protected void autoConfigure(String key) {
        var config = new org.apache.camel.util.OrderedLocationProperties();
        config.putAll("camel-main", camelContext.getPropertiesComponent().loadProperties());

         
        InputStream is = getClass().getResourceAsStream("/auto-configure/" + key + ".java");
        if (is != null) {
            try {
                 
                DependencyDownloader downloader = camelContext.hasService(DependencyDownloader.class);
                 
                downloader.downloadHiddenDependency("org.apache.camel", "camel-joor", camelContext.getVersion());
                 
                String script = IOHelper.loadText(is);
                Language lan = camelContext.resolveLanguage("java");
                Expression exp = lan.createExpression(script);
                Object out = exp.evaluate(new DefaultExchange(camelContext), Object.class);
                if (ObjectHelper.isNotEmpty(out)) {
                    LOG.info("{}", out);
                }
            } catch (Exception e) {
                throw RuntimeCamelException.wrapRuntimeException(e);
            } finally {
                IOHelper.close(is);
            }
        }
    }
Pair #3930 Negative (Non-Clone)
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 768_698
ClassID: 768
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-text-to-speech/src/main/java/org/apache/camel/component/ibm/watson/tts/WatsonTextToSpeechProducer.java
Name: org.apache.camel.component.ibm.watson.tts.WatsonTextToSpeechProducer.getCustomModel(Exchange exchange)
    private void getCustomModel(Exchange exchange) {
        TextToSpeech tts = getEndpoint().getTtsClient();
        if (tts == null) {
            throw new IllegalStateException("TTS client not initialized");
        }

        String modelId = exchange.getIn().getHeader(WatsonTextToSpeechConstants.MODEL_ID, String.class);
        if (modelId == null) {
            modelId = exchange.getIn().getBody(String.class);
        }

        if (modelId == null || modelId.isBlank()) {
            throw new IllegalArgumentException("Model ID must be specified");
        }

        LOG.trace("Getting custom model: {}", modelId);

        GetCustomModelOptions options = new GetCustomModelOptions.Builder()
                .customizationId(modelId)
                .build();

        CustomModel customModel = tts.getCustomModel(options).execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(customModel);
    }
Pair #3931 Negative (Non-Clone)
ID: 3250_2594
ClassID: 3250
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.initRouteRefs()
    protected void initRouteRefs() throws Exception {
         
        if (getRouteRefs() != null) {
            for (RouteContextRefDefinition ref : getRouteRefs()) {
                List<RouteDefinition> defs = ref.lookupRoutes(getContext());
                for (RouteDefinition def : defs) {
                    LOG.debug("Adding route from {} -> {}", ref, def);
                     
                     
                    getRoutes().add(0, def);
                }
            }
        }
    }
ID: 52_66
ClassID: 52
File: systems/camel-java/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/processor/aggregate/JCacheAggregationRepository.java
Name: org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        ObjectHelper.notNull(camelContext, "camelContext");
        ObjectHelper.notNull(configuration, "configuration");

        if (cache != null) {
            cacheManager = new JCacheManager<>(cache);
        } else {
            cacheManager = JCacheHelper.createManager(getCamelContext(), configuration);
            cache = cacheManager.getCache();
        }
    }
Pair #3932 Negative (Non-Clone)
ID: 1644_1407
ClassID: 1644
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
Name: org.apache.camel.processor.transformer.AnnotationTransformerLoader.findPackages(Set<String> packages, ClassLoader classLoader)
    protected void findPackages(Set<String> packages, ClassLoader classLoader) throws IOException {
        Enumeration<URL> resources = classLoader.getResources(META_INF_SERVICES);
        while (resources.hasMoreElements()) {
            URL url = resources.nextElement();
            String path = url.getPath();
            if (!visitedURIs.contains(path)) {
                 
                visitedURIs.add(path);
                LOG.debug("Loading file {} to retrieve list of packages, from url: {}", META_INF_SERVICES, url);
                try (BufferedReader reader
                        = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            break;
                        }
                        line = line.trim();
                        if (line.startsWith("#") || line.isEmpty()) {
                            continue;
                        }
                        packages.add(line);
                    }
                }
            }
        }
    }
ID: 2658_2330
ClassID: 2658
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/SetHeaderProcessor.java
Name: org.apache.camel.processor.SetHeaderProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            Object newHeader = expression.evaluate(exchange, Object.class);

            if (exchange.getException() != null) {
                 
                callback.done(true);
                return true;
            }

            Message old = exchange.getMessage();

            String key = headerName.evaluate(exchange, String.class);
            old.setHeader(key, newHeader);

        } catch (Exception e) {
            exchange.setException(e);
        }

        callback.done(true);
        return true;
    }
Pair #3933 Negative (Non-Clone)
ID: 220_249
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.s3.getObject");

        if (message.getHeaders().containsKey(AWS2S3Constants.BUCKET_NAME)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.s3.bucket." + message.getHeader(AWS2S3Constants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(AWS2S3Constants.KEY, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
ID: 175_152
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                Job responseJob = null;
                try {
                    responseJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, responseHeaders, ex);
            }
Pair #3934 Negative (Non-Clone)
ID: 1966_1599
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.createCollection(Exchange exchange)
    private void createCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        WeaviateClass collection = WeaviateClass.builder().className(collectionName).build();

        Result<Boolean> res = client.misc().readyChecker().run();

        Result<Boolean> result = client.schema().classCreator().withClass(collection).run();
        populateResponse(result, exchange);

    }
ID: 2363_1860
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractText(String chunk)
    public String extractText(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return "";
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode eventType = node.get("event_type");

        if (eventType != null && "text-generation".equals(eventType.asText())) {
            JsonNode text = node.get("text");
            return text != null && !text.isNull() ? text.asText() : "";
        }
        return "";
    }
Pair #3935 Negative (Non-Clone)
ID: 1976_1613
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomNlpPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof String) {
            String input = exchange.getIn().getBody(String.class);
            T result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String");
        }
    }
ID: 379_415
ClassID: 379
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsHeaderFilterStrategy.java
Name: org.apache.camel.component.sjms.SjmsHeaderFilterStrategy.initialize()
    protected void initialize() {
         
         
        getOutFilter().add("JMSXUserID");
        getOutFilter().add("JMSXAppID");
        getOutFilter().add("JMSXDeliveryCount");
        getOutFilter().add("JMSXProducerTXID");
        getOutFilter().add("JMSXConsumerTXID");
        getOutFilter().add("JMSXRcvTimestamp");
        getOutFilter().add("JMSXRecvTimestamp");
        getOutFilter().add("JMSXState");
    }
Pair #3936 Negative (Non-Clone)
ID: 2559_2132
ClassID: 2559
File: systems/camel-java/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/RestDslParser.java
Name: org.apache.camel.parser.RestDslParser.parseRestService(JavaClassSource clazz, String fullyQualifiedFileName, boolean includeInlinedRouteBuilders)
    public static List<RestServiceDetails> parseRestService(
            JavaClassSource clazz, String fullyQualifiedFileName,
            boolean includeInlinedRouteBuilders) {

        List<MethodSource<JavaClassSource>> methods = findAllConfigureMethods(clazz, includeInlinedRouteBuilders);

        CamelJavaRestDslParserHelper parser = new CamelJavaRestDslParserHelper();
        List<RestServiceDetails> list = new ArrayList<>();
        for (MethodSource<JavaClassSource> configureMethod : methods) {
             
            List<RestServiceDetails> details = parser.parseRestService(clazz, fullyQualifiedFileName, configureMethod);
            list.addAll(details);
        }
         
        Collections.reverse(list);

        return list;
    }
ID: 2577_2169
ClassID: 2577
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
Name: org.apache.camel.maven.packaging.UpdateReadmeMojo.executeLanguage()
    private void executeLanguage() throws MojoExecutionException {
         
        final String kind = "language";
        List<String> languageNames = listDescriptorNamesOfType(kind);

        final Set<File> jsonFiles = new TreeSet<>();
        PackageHelper.findJsonFiles(buildDir, jsonFiles);

         
        if (!languageNames.isEmpty()) {
            if (getLog().isDebugEnabled()) {
                getLog().debug("Found " + languageNames.size() + " languages");
            }

            for (String languageName : languageNames) {
                String json = loadJsonFrom(jsonFiles, kind, languageName);
                if (json != null) {
                    File file = new File(languageDocDir, languageName + "-" + kind + ".adoc");
                    boolean exists = file.exists();
                    if (!exists) {
                        file = new File(languageDocDir2, languageName + "-" + kind + ".adoc");
                        exists = file.exists();
                    }

                    LanguageModel model = JsonMapper.generateLanguageModel(json);

                    boolean updated = updateHeader(languageName, file, model, " Language");
                    checkSince(file);

                    String options = evaluateTemplate("language-options.mvel", model);
                    updated |= updateOptionsIn(file, kind, options);

                    if (updated) {
                        getLog().info("Updated doc file: " + file);
                    } else if (exists) {
                        if (getLog().isDebugEnabled()) {
                            getLog().debug("No changes to doc file: " + file);
                        }
                    } else {
                        getLog().warn("No language doc file: " + file);
                        if (isFailFast()) {
                            throw new MojoExecutionException("Failed build due failFast=true");
                        }
                    }
                }
            }
        }
    }
Pair #3937 Negative (Non-Clone)
ID: 1137_977
ClassID: 1137
File: systems/camel-java/components/camel-github/src/main/java/org/apache/camel/component/github/producer/GetCommitFileProducer.java
Name: org.apache.camel.component.github.producer.GetCommitFileProducer.GetCommitFileProducer(GitHubEndpoint endpoint)
    public GetCommitFileProducer(GitHubEndpoint endpoint) throws Exception {
        super(endpoint);

        Registry registry = endpoint.getCamelContext().getRegistry();
        Object service = registry.lookupByName(GitHubConstants.GITHUB_DATA_SERVICE);
        if (service != null) {
            LOG.debug("Using DataService found in registry {}", service.getClass().getCanonicalName());
            dataService = (DataService) service;
        } else {
            dataService = new DataService();
        }
        initService(dataService);

        if (endpoint.getEncoding() != null) {
            encoding = endpoint.getEncoding();

            if (!encoding.equalsIgnoreCase(Blob.ENCODING_BASE64)
                    && !encoding.equalsIgnoreCase(Blob.ENCODING_UTF8)) {
                throw new IllegalArgumentException("Unknown encoding '" + encoding + "'");
            }
        }
    }
ID: 194_219
ClassID: 194
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.CompositeApiProcessor.processCompositeBatchResponse(final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback)
    void processCompositeBatchResponse(
            final Exchange exchange, final Optional<SObjectBatchResponse> responseBody, final Map<String, String> headers,
            final SalesforceException exception, final AsyncCallback callback) {
        try {
            if (!responseBody.isPresent()) {
                exchange.setException(exception);
            } else {
                final Message in = exchange.getIn();
                final Message out = exchange.getOut();

                final SObjectBatchResponse response = responseBody.get();

                out.copyFromWithNewBody(in, response);
                out.getHeaders().putAll(headers);
            }
        } finally {
             
            callback.done(false);
        }
    }
Pair #3938 Negative (Non-Clone)
ID: 2402_1896
ClassID: 2402
File: systems/camel-java/components/camel-hazelcast/src/main/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepository.java
Name: org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository.doStart()
    protected void doStart() throws Exception {
        StringHelper.notEmpty(mapName, "repositoryName");
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }
        if (persistenceMapName == null) {
            persistenceMapName = String.format("%s%s", mapName, COMPLETED_SUFFIX);
        }
        if (hazelcastInstance == null) {
            useLocalHzInstance = true;
            Config cfg = new XmlConfigBuilder().build();
            cfg.setProperty("hazelcast.version.check.enabled", "false");
            hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
        } else {
            ObjectHelper.notNull(hazelcastInstance, "hazelcastInstance");
        }
        cache = hazelcastInstance.getMap(mapName);
        if (useRecovery) {
            persistedCache = hazelcastInstance.getMap(persistenceMapName);
        }
    }
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
Pair #3939 Negative (Non-Clone)
ID: 3173_2445
ClassID: 3173
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
Name: org.apache.camel.management.mbean.ManagedCamelContext.dumpRoutesAsYaml(boolean resolvePlaceholders, boolean uriAsParameters, boolean generatedIds, boolean sourceLocation)
    public String dumpRoutesAsYaml(
            boolean resolvePlaceholders, boolean uriAsParameters, boolean generatedIds, boolean sourceLocation)
            throws Exception {
        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
        if (routes.isEmpty()) {
            return null;
        }

         
        RoutesDefinition def = new RoutesDefinition();
        def.setRoutes(routes);

         
        if (context.isDebugging()) {
            generatedIds = true;
        }

        return PluginHelper.getModelToYAMLDumper(context).dumpModelAsYaml(context, def, resolvePlaceholders, uriAsParameters,
                generatedIds, sourceLocation);
    }
ID: 2525_2093
ClassID: 2525
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/Main.java
Name: org.apache.camel.main.Main.doStart()
    protected void doStart() throws Exception {
        super.doStart();
        if (getCamelContext() != null) {
            try {
                 
                getCamelContext().start();
            } finally {
                if (getCamelContext().isVetoStarted()) {
                    completed();
                }
            }
        }
    }
Pair #3940 Negative (Non-Clone)
ID: 1915_1579
ClassID: 1915
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.scan(CamelContext camelContext)
    public Set<String> scan(CamelContext camelContext) {
        if (useRecovery) {
            LOG.trace("Scanning for exchanges to recover in {} context", camelContext.getName());
            Set<String> scanned = Collections.unmodifiableSet(persistedCache.keySet());
            LOG.trace("Found {} keys for exchanges to recover in {} context", scanned.size(), camelContext.getName());
            return scanned;
        } else {
            LOG.warn(
                    "What for to run recovery scans in {} context while repository {} is running in non-recoverable aggregation repository mode?!",
                    camelContext.getName(), mapName);
            return Collections.emptySet();
        }
    }
ID: 3106_2389
ClassID: 3106
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/BlacklistServiceCallServiceFilterConfiguration.java
Name: org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration.servers(String servers)
    public BlacklistServiceCallServiceFilterConfiguration servers(String servers) {
        if (ObjectHelper.isNotEmpty(servers)) {
            String[] parts = servers.split(",");

            if (this.servers == null) {
                this.servers = new ArrayList<>();
            }

            this.servers.addAll(Arrays.asList(parts));
        }

        return this;
    }
Pair #3941 Negative (Non-Clone)
ID: 2669_2357
ClassID: 2669
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBiFunctionAdapter.java
Name: org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (!allowNullOldExchange && oldExchange == null) {
            return newExchange;
        }
        if (!allowNullNewExchange && newExchange == null) {
            return oldExchange;
        }

        try {
            Object out = function.apply(oldExchange, newExchange);
            if (out != null && !(out instanceof Exchange)) {
                if (oldExchange != null) {
                    oldExchange.getIn().setBody(out);
                } else {
                    newExchange.getIn().setBody(out);
                }
            }
        } catch (Exception e) {
            if (oldExchange != null) {
                oldExchange.setException(e);
            } else {
                newExchange.setException(e);
            }
        }
        return oldExchange != null ? oldExchange : newExchange;
    }
ID: 1872_1543
ClassID: 1872
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
Name: org.apache.camel.component.knative.KnativeComponent.setUpConsumerFactory()
    private KnativeConsumerFactory setUpConsumerFactory() throws Exception {
        if (consumerFactory == null) {
            this.consumerFactory = CamelContextHelper.lookup(getCamelContext(), protocol.name(), KnativeConsumerFactory.class);
            if (this.consumerFactory == null) {
                this.consumerFactory = getCamelContext()
                        .getCamelContextExtension()
                        .getBootstrapFactoryFinder(Knative.KNATIVE_TRANSPORT_RESOURCE_PATH)
                        .newInstance(protocol.name() + "-consumer", KnativeConsumerFactory.class)
                        .orElseThrow(() -> new IllegalArgumentException(
                                "Cannot create KnativeConsumerFactory. Make sure camel-knative-http JAR is on classpath."));
                if (configuration.getTransportOptions() != null) {
                    setProperties(consumerFactory, new HashMap<>(configuration.getTransportOptions()));
                }
                getCamelContext().addService(this.consumerFactory, true, true);
            }
            LOGGER.debug("Using Knative consumer factory: {} for protocol: {}", consumerFactory, protocol.name());
        }
        return consumerFactory;
    }
Pair #3942 Negative (Non-Clone)
ID: 597_552
ClassID: 597
File: systems/camel-java/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
Name: org.apache.camel.component.fhir.FhirJsonDataFormat.marshal(Exchange exchange, Object o, OutputStream outputStream)
    public void marshal(Exchange exchange, Object o, OutputStream outputStream) throws Exception {
        IBaseResource iBaseResource;
        if (!(o instanceof IBaseResource)) {
            iBaseResource = exchange.getContext().getTypeConverter().mandatoryConvertTo(IBaseResource.class, exchange, o);
        } else {
            iBaseResource = (IBaseResource) o;
        }

        IParser parser = getFhirContext().newJsonParser();
        configureParser(parser);
        parser.encodeResourceToWriter(iBaseResource, new OutputStreamWriter(outputStream));

        if (isContentTypeHeader()) {
            exchange.getMessage().setHeader(Exchange.CONTENT_TYPE, parser.getEncoding().getResourceContentTypeNonLegacy());
        }
    }
ID: 1256_1105
ClassID: 1256
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyDefaultErrorHandlerReifier.java
Name: org.apache.camel.reifier.errorhandler.LegacyDefaultErrorHandlerReifier.getExecutorService(ScheduledExecutorService executorService, String executorServiceRef)
    protected ScheduledExecutorService getExecutorService(
            ScheduledExecutorService executorService, String executorServiceRef) {
        lock.lock();
        try {
            if (executorService == null || executorService.isShutdown()) {
                 
                 
                if (executorServiceRef != null) {
                    executorService = lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class);
                    if (executorService == null) {
                        ExecutorServiceManager manager = camelContext.getExecutorServiceManager();
                        ThreadPoolProfile profile = manager.getThreadPoolProfile(executorServiceRef);
                        executorService = manager.newScheduledThreadPool(this, executorServiceRef, profile);
                    }
                    if (executorService == null) {
                        throw new IllegalArgumentException("ExecutorService " + executorServiceRef + " not found in registry.");
                    }
                } else {
                     
                     
                     
                     
                    executorService = null;
                }
            }
            return executorService;
        } finally {
            lock.unlock();
        }
    }
Pair #3943 Negative (Non-Clone)
ID: 2505_2054
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter)
    public static List<MethodInfo> methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter) {
        List<MethodInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (MethodInfo methodInfo : current.methods()) {
                if (filter.test(methodInfo)) {
                    answer.add(methodInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
ID: 3210_2482
ClassID: 3210
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/MessageHistoryDevConsole.java
Name: org.apache.camel.impl.console.MessageHistoryDevConsole.enrichSourceCode(String routeId, String location, int lines)
    private List<JsonObject> enrichSourceCode(String routeId, String location, int lines) {
        Route route = getCamelContext().getRoute(routeId);
        if (route == null) {
            return null;
        }
        Resource resource = route.getSourceResource();
        if (resource == null) {
            return null;
        }

        List<JsonObject> code = new ArrayList<>();

        location = StringHelper.afterLast(location, ":");
        int line = 0;
        try {
            if (location != null) {
                line = Integer.parseInt(location);
            }
            LineNumberReader reader = new LineNumberReader(resource.getReader());
            for (int i = 1; i <= line + lines; i++) {
                String t = reader.readLine();
                if (t != null) {
                    int low = line - lines + 2;  
                    int high = line + lines + 1 + 2;
                    if (i >= low && i <= high) {
                        JsonObject c = new JsonObject();
                        c.put("line", i);
                        if (line == i) {
                            c.put("match", true);
                        }
                        c.put("code", Jsoner.escape(t));
                        code.add(c);
                    }
                }
            }
            IOHelper.close(reader);
        } catch (Exception e) {
             
        }

        return code;
    }
Pair #3944 Negative (Non-Clone)
ID: 463_487
ClassID: 463
File: systems/camel-java/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
Name: org.apache.camel.component.box.internal.BoxConnectionHelper.createAppUserAuthenticatedConnection(BoxConfiguration configuration)
    public static BoxAPIConnection createAppUserAuthenticatedConnection(BoxConfiguration configuration) {
         
        JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
        encryptionPref.setPublicKeyID(configuration.getPublicKeyId());

        try {
            encryptionPref.setPrivateKey(new String(Files.readAllBytes(Paths.get(configuration.getPrivateKeyFile()))));
        } catch (Exception e) {
            throw new RuntimeCamelException("Box API connection failed: could not read privateKeyFile", e);
        }

        encryptionPref.setPrivateKeyPassword(configuration.getPrivateKeyPassword());
        encryptionPref.setEncryptionAlgorithm(configuration.getEncryptionAlgorithm());

        IAccessTokenCache accessTokenCache = configuration.getAccessTokenCache();
        if (accessTokenCache == null) {
            accessTokenCache = new InMemoryLRUAccessTokenCache(configuration.getMaxCacheEntries());
        }

        try {
            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                    configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
        } catch (BoxAPIException e) {
            throw new RuntimeCamelException(
                    String.format("Box API connection failed: API returned the error code %d%n%n%s",
                            e.getResponseCode(), e.getResponse()),
                    e);
        }

    }
ID: 3161_2406
ClassID: 3161
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
Name: org.apache.camel.management.ManagedCamelContextImpl.getManagedRoute(String routeId, Class<T> type)
    public <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type) {
         
        if (getManagementStrategy().getManagementAgent() == null) {
            return null;
        }

        Route route = camelContext.getRoute(routeId);
        if (route != null) {
            try {
                ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForRoute(route);
                return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
            } catch (MalformedObjectNameException e) {
                throw RuntimeCamelException.wrapRuntimeCamelException(e);
            }
        }

        return null;
    }
Pair #3945 Negative (Non-Clone)
ID: 2466_1982
ClassID: 2466
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/TransformRoute.java
Name: org.apache.camel.dsl.jbang.core.commands.TransformRoute.waitForDumpFile(Path dumpFile)
    protected String waitForDumpFile(Path dumpFile) {
        StopWatch watch = new StopWatch();
        while (watch.taken() < 5000) {
            try {
                 
                Thread.sleep(100);

                if (Files.exists(dumpFile)) {
                    try (InputStream is = Files.newInputStream(dumpFile)) {
                        return IOHelper.loadText(is);
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            } catch (Exception e) {
                 
            }
        }
        return null;
    }
ID: 681_614
ClassID: 681
File: systems/camel-java/components/camel-opentelemetry-metrics/src/main/java/org/apache/camel/opentelemetry/metrics/routepolicy/OpenTelemetryContextMetricsStatistics.java
Name: org.apache.camel.opentelemetry.metrics.routepolicy.OpenTelemetryContextMetricsStatistics.onExchangeDone(Exchange exchange)
    public void onExchangeDone(Exchange exchange) {
         
         
         
        UnitOfWork uow = exchange.getUnitOfWork();
        if (uow != null) {
            int level = uow.routeStackLevel(registerTemplates, registerKamelets);
            if (level <= 1) {
                super.onExchangeDone(exchange);
            }
        } else {
            super.onExchangeDone(exchange);
        }
    }
Pair #3946 Negative (Non-Clone)
ID: 254_325
ClassID: 254
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConsumer.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConsumer.poll()
    protected int poll() throws Exception {
        final String fileSystemName = getEndpoint().getConfiguration().getFileSystemName();
        final String fileName = getEndpoint().getConfiguration().getFileName();
        final DataLakeFileSystemClient dataLakeFileSystemClient
                = getEndpoint().getDataLakeServiceClient().getFileSystemClient(fileSystemName);
        int result;

        try {
            Queue<Exchange> exchanges;
            if (ObjectHelper.isNotEmpty(fileName)) {
                final Exchange exchange = createExchangeFromFile(fileName, dataLakeFileSystemClient);
                exchanges = new LinkedList<>();
                exchanges.add(exchange);
            } else {
                exchanges = createBatchExchangesFromPath(dataLakeFileSystemClient);
            }
            result = processBatch(CastUtils.cast(exchanges));
        } catch (DataLakeStorageException e) {
            if (NOT_FOUND == e.getStatusCode()) {
                result = 0;
            } else {
                throw e;
            }
        }
        return result;
    }
ID: 2270_1790
ClassID: 2270
File: systems/camel-java/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
Name: org.apache.camel.component.jpa.JpaConsumer.recreateEntityManagerIfNeeded()
    private void recreateEntityManagerIfNeeded() {
         
        if (entityManager == null) {
            if (getEndpoint().isSharedEntityManager()) {
                this.entityManager = SharedEntityManagerCreator.createSharedEntityManager(entityManagerFactory);
            } else {
                this.entityManager = entityManagerFactory.createEntityManager();
            }
            LOG.trace("Recreated EntityManager {} on {}", entityManager, this);
        }
    }
Pair #3947 Negative (Non-Clone)
ID: 1255_1100
ClassID: 1255
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
Name: org.apache.camel.spring.spi.TransactionErrorHandlerReifier.resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext)
    private RedeliveryPolicy resolveRedeliveryPolicy(TransactionErrorHandlerDefinition definition, CamelContext camelContext) {
        RedeliveryPolicy answer = null;
        RedeliveryPolicyDefinition def = definition.getRedeliveryPolicy();
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
             
            def = lookupByNameAndType(definition.getRedeliveryPolicyRef(), RedeliveryPolicyDefinition.class);
        }
        if (def != null) {
            answer = ErrorHandlerReifier.createRedeliveryPolicy(def, camelContext, null);
        }
        if (def == null && definition.getRedeliveryPolicyRef() != null) {
            answer = mandatoryLookup(definition.getRedeliveryPolicyRef(), RedeliveryPolicy.class);
        }
        if (answer == null) {
            answer = RedeliveryPolicy.DEFAULT_POLICY;
        }
        return answer;
    }
ID: 981_839
ClassID: 981
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
Name: org.apache.camel.component.sql.stored.template.generated.SSPTParser.OutParameter()
  final public OutParameter OutParameter() throws ParseException {Token sqlTypeToken;
     String outValueMapKey;
     Integer scale = null;
     String typeName = null;
    jj_consume_token(2);
    sqlTypeToken = ParameterSqlType();
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case SCALE:{
      scale = Scale();
      break;
      }
    default:
      jj_la1[6] = jj_gen;
      ;
    }
    jj_consume_token(1);
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case PARAMETER_NAME:{
      typeName = ParameterName();
      jj_consume_token(1);
      break;
      }
    default:
      jj_la1[7] = jj_gen;
      ;
    }
    outValueMapKey = OutHeader();
{if ("" != null) return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), outValueMapKey, scale, typeName);}
    throw new Error("Missing return statement in function");
}
Pair #3948 Negative (Non-Clone)
ID: 2602_2225
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getIntegerOrDefault(final String key, final int defaultValue)
    public Integer getIntegerOrDefault(final String key, final int defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).intValue();
    }
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #3949 Negative (Non-Clone)
ID: 3230_2537
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileExtensionExpression()
    public static Expression fileExtensionExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
                return FileUtil.onlyExt(name);
            }

            @Override
            public String toString() {
                return "file:ext";
            }
        };
    }
ID: 1992_1634
ClassID: 1992
File: systems/camel-java/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
Name: org.apache.camel.component.quickfixj.QuickfixjEngine.inferLogFactory(SessionSettings settings)
    private LogFactory inferLogFactory(SessionSettings settings) throws ConfigError {
        Set<LogFactory> impliedLogFactories = new HashSet<>();
        isFileLog(settings, impliedLogFactories);
        isScreenLog(settings, impliedLogFactories);
        isSL4JLog(settings, impliedLogFactories);
        isJdbcLog(settings, impliedLogFactories);
        if (impliedLogFactories.size() > 1) {
            throw new ConfigError("Ambiguous log factory implied in configuration");
        }
        LogFactory sessionLogFactory;
        if (impliedLogFactories.size() == 1) {
            sessionLogFactory = impliedLogFactories.iterator().next();
        } else {
             
            sessionLogFactory = new ScreenLogFactory(settings);
        }
        LOG.info("Inferring log factory: {}", sessionLogFactory.getClass().getName());
        return sessionLogFactory;
    }
Pair #3950 Negative (Non-Clone)
ID: 1864_1536
ClassID: 1864
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager.getKeyMetadata(String keyId)
    public KeyMetadata getKeyMetadata(String keyId) throws Exception {
        if (metadataCache.containsKey(keyId)) {
            return metadataCache.get(keyId);
        }

        Path metadataFile = getMetadataFile(keyId);
        if (!Files.exists(metadataFile)) {
            return null;
        }

        try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(metadataFile)))) {
            KeyMetadata metadata = (KeyMetadata) ois.readObject();
            metadataCache.put(keyId, metadata);
            return metadata;
        }
    }
ID: 1307_1150
ClassID: 1307
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
Name: org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();

        LOG.debug("Stopping Kubernetes ConfigMap Consumer");
        if (executor != null) {
            KubernetesHelper.close(configMapWatcher, configMapWatcher::getWatch);

            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownNow(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #3951 Negative (Non-Clone)
ID: 2363_1856
ClassID: 2363
File: systems/camel-java/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
Name: org.apache.camel.component.aws2.bedrock.runtime.stream.CohereStreamParser.extractTokenCount(String chunk)
    public Integer extractTokenCount(String chunk) throws JsonProcessingException {
        if (chunk == null || chunk.trim().isEmpty()) {
            return null;
        }
        JsonNode node = MAPPER.readTree(chunk);
        JsonNode response = node.get("response");
        if (response != null) {
            JsonNode meta = response.get("meta");
            if (meta != null) {
                JsonNode tokens = meta.get("tokens");
                if (tokens != null) {
                    JsonNode outputTokens = tokens.get("output_tokens");
                    return outputTokens != null && !outputTokens.isNull() ? outputTokens.asInt() : null;
                }
            }
        }
        return null;
    }
ID: 881_736
ClassID: 881
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/util/ConverterUtils.java
Name: org.apache.camel.dataformat.bindy.util.ConverterUtils.getByteReturn(String returnCharacter)
    public static byte[] getByteReturn(String returnCharacter) {
        if (returnCharacter.equals("WINDOWS")) {
            return WINDOWS_RETURN_BYTES;
        } else if (returnCharacter.equals("UNIX")) {
            return UNIX_RETURN_BYTES;
        } else if (returnCharacter.equals("MAC")) {
            return MAC_RETURN_BYTES;
        } else {
            return returnCharacter.getBytes();
        }
    }
Pair #3952 Negative (Non-Clone)
ID: 229_274
ClassID: 229
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/FtpChangedExclusiveReadLockStrategy.java
Name: org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
    public boolean acquireExclusiveReadLock(
            GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file, Exchange exchange)
            throws Exception {
        LOG.trace("Waiting for exclusive read lock to file: {}", file);

        BlockingTask task = Tasks.foregroundTask()
                .withBudget(Budgets.iterationTimeBudget()
                        .withMaxDuration(Duration.ofMillis(timeout))
                        .withInterval(Duration.ofMillis(checkInterval))
                        .build())
                .withName("ftp-acquire-exclusive-read-lock")
                .build();

        ExclusiveReadLockCheck exclusiveReadLockCheck = new ExclusiveReadLockCheck(fastExistsCheck, minAge, minLength);

        if (!task.run(exchange.getContext(), () -> exclusiveReadLockCheck.tryAcquireExclusiveReadLock(operations, file))) {
            CamelLogger.log(LOG, readLockLoggingLevel,
                    "Cannot acquire read lock within " + timeout + " millis. Will skip the file: " + file);

            return false;
        }

        return true;
    }
ID: 3274_2650
ClassID: 3274
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java
Name: org.apache.camel.support.task.BackgroundTask.doRun(BooleanSupplier supplier)
    protected boolean doRun(BooleanSupplier supplier) {
        try {
            cause = null;
            return supplier.getAsBoolean();
        } catch (TaskRunFailureException e) {
            LOG.debug("Task {} failed at {} iterations and will attempt again on next interval: {}",
                    getName(), budget.iteration(), e.getMessage());
            cause = e;
            return false;
        }
    }
Pair #3953 Negative (Non-Clone)
ID: 49_61
ClassID: 49
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeComponent.java
Name: org.apache.camel.component.stripe.StripeComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        StripeConfiguration configuration = new StripeConfiguration();
        configuration.setOperation(remaining);

        if (apiKey != null) {
            configuration.setApiKey(apiKey);
        }
        if (apiBase != null) {
            configuration.setApiBase(apiBase);
        }

        StripeEndpoint endpoint = new StripeEndpoint(uri, this, configuration);
        setProperties(endpoint, parameters);

        return endpoint;
    }
ID: 2482_2037
ClassID: 2482
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteGroupStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus.getDelta(Row r)
    protected String getDelta(Row r) {
        if (r.delta != null) {
            if (r.delta.startsWith("-")) {
                return r.delta;
            } else if (!"0".equals(r.delta)) {
                 
                return "+" + r.delta;
            }
        }
        return r.delta;
    }
Pair #3954 Negative (Non-Clone)
ID: 107_99
ClassID: 107
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakConsumer.java
Name: org.apache.camel.component.keycloak.KeycloakConsumer.pollEvents()
    private Queue<Exchange> pollEvents() throws Exception {
        Keycloak keycloakClient = getEndpoint().getKeycloakClient();
        KeycloakConfiguration config = getEndpoint().getConfiguration();
        String realm = config.getRealm();

        if (realm == null) {
            throw new IllegalArgumentException("Realm must be specified for consuming events");
        }

         
         
         
        List<String> eventTypes = parseCommaSeparatedList(config.getTypes());
        List<EventRepresentation> events = keycloakClient.realm(realm).getEvents(
                eventTypes,  
                config.getClient(),  
                config.getUser(),  
                config.getDateFrom(),  
                config.getDateTo(),  
                config.getIpAddress(),  
                config.getFirst(),  
                config.getMaxResults()  
        );

        Queue<Exchange> queue = new LinkedList<>();
        long highestEventTime = lastEventTime != null ? lastEventTime : 0;

        for (EventRepresentation event : events) {
            long eventTime = event.getTime();

             
            if (lastEventTime != null && eventTime < lastEventTime) {
                continue;
            }

             
            String fingerprint = getEventFingerprint(event);

             
            if (processedEventFingerprints.contains(fingerprint)) {
                LOG.trace("Skipping already processed event: {}", fingerprint);
                continue;
            }

            Exchange exchange = createExchange(false);
            exchange.getIn().setBody(event);
            exchange.getIn().setHeader(KeycloakConstants.EVENT_TYPE, "event");
            exchange.getIn().setHeader(KeycloakConstants.EVENT_ID, event.getTime());
            exchange.getIn().setHeader(KeycloakConstants.REALM_NAME, realm);
            queue.add(exchange);

             
            processedEventFingerprints.add(fingerprint);

             
            if (eventTime > highestEventTime) {
                highestEventTime = eventTime;
            }

             
            if (processedEventFingerprints.size() > MAX_FINGERPRINT_CACHE_SIZE) {
                processedEventFingerprints.clear();
                LOG.debug("Cleared fingerprint cache due to size limit");
            }
        }

         
        if (highestEventTime > (lastEventTime != null ? lastEventTime : 0)) {
             
            processedEventFingerprints.clear();
            lastEventTime = highestEventTime;
            LOG.debug("Updated last event time to: {}", lastEventTime);
        }

        return queue;
    }
ID: 220_249
ClassID: 220
File: systems/camel-java/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
Name: org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.aws.s3.getObject");

        if (message.getHeaders().containsKey(AWS2S3Constants.BUCKET_NAME)) {
            headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                    "aws.s3.bucket." + message.getHeader(AWS2S3Constants.BUCKET_NAME, String.class));
        }

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, message.getHeader(AWS2S3Constants.KEY, String.class));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.APPLICATION_OCTET_STREAM_MIME_TYPE);
    }
Pair #3955 Negative (Non-Clone)
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
ID: 13_9
ClassID: 13
File: systems/camel-java/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducer.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(CaffeineConstants.ACTION_SUCCEEDED, success);
        message.setHeader(CaffeineConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(CaffeineConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
Pair #3956 Negative (Non-Clone)
ID: 2386_1883
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onJoin(String channel, IRCUser user)
        public void onJoin(String channel, IRCUser user) {
            if (configuration.isOnJoin()) {
                Exchange exchange = createOnJoinExchange(channel, user);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
ID: 991_844
ClassID: 991
File: systems/camel-java/components/camel-olingo4/camel-olingo4-api/src/main/java/org/apache/camel/component/olingo4/api/impl/AbstractFutureCallback.java
Name: org.apache.camel.component.olingo4.api.impl.AbstractFutureCallback.completed(HttpResponse result)
    public final void completed(HttpResponse result) {
        try {
             
            checkStatus(result);

            onCompleted(result);
        } catch (Exception e) {
            failed(e);
        } finally {
            if (result instanceof Closeable) {
                try {
                    ((Closeable) result).close();
                } catch (final IOException ignore) {
                }
            }
        }
    }
Pair #3957 Negative (Non-Clone)
ID: 714_650
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/AttributeProcessor.java
Name: org.apache.camel.observation.AttributeProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            Observation observation = camelSpan.getMicrometerObservation();
            if (observation != null) {
                String tag = expression.evaluate(exchange, String.class);
                observation.highCardinalityKeyValue(attributeName, tag);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 1876_1551
ClassID: 1876
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getFilters()
    public Map<String, String> getFilters() {
        Map<String, String> answer = new HashMap<>();
        if (this.filters != null) {
            answer.putAll(this.filters);
        }
        if (this.metadata != null) {
            for (Map.Entry<String, String> entry : this.metadata.entrySet()) {
                if (entry.getKey().startsWith(Knative.KNATIVE_FILTER_PREFIX)) {
                    final String key = entry.getKey().substring(Knative.KNATIVE_FILTER_PREFIX.length());
                    final String val = entry.getValue();

                    answer.put(key, val);
                }
            }
        }

        return answer;
    }
Pair #3958 Negative (Non-Clone)
ID: 2609_2243
ClassID: 2609
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.findField(Class<?> clazz, String name)
    public static Field findField(Class<?> clazz, String name) {
        Objects.requireNonNull(clazz, "Class must not be null");
        Objects.requireNonNull(name, "Field name must not be null");
        Class<?> searchType = clazz;
        while (searchType != null) {
            Field[] fields = searchType.getDeclaredFields();
            for (Field field : fields) {
                if (name.equals(field.getName())) {
                    return field;
                }
            }
            searchType = searchType.getSuperclass();
        }
        return null;
    }
ID: 2251_1782
ClassID: 2251
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onReplace(Message message)
    public void onReplace(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object oldValue = message.getHeader(InfinispanConstants.OLD_VALUE, configuration::getOldValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
                }
            } else {
                if (ObjectHelper.isEmpty(oldValue)) {
                    result = cache.replace(key, value, lifespan, timeUnit);
                } else {
                    result = cache.replace(key, oldValue, value, lifespan, timeUnit);
                }
            }
        } else {
            if (ObjectHelper.isEmpty(oldValue)) {
                result = cache.replace(key, value);
            } else {
                result = cache.replace(key, oldValue, value);
            }
        }

        setResult(message, result);
    }
Pair #3959 Negative (Non-Clone)
ID: 1257_1107
ClassID: 1257
File: systems/camel-java/components/camel-jta/src/main/java/org/apache/camel/jta/TransactionErrorHandler.java
Name: org.apache.camel.jta.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            exchange.getUnitOfWork().beginTransactedBy(transactionKey);
             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);
        } catch (TransactionRolledbackException e) {
             
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Throwable e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            exchange.getUnitOfWork().endTransactedBy(transactionKey);
        }

         
         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast and caught: ",
                            transactionKey, redelivered, ids, cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
             
            exchange.setException(null);
        }
    }
ID: 341_395
ClassID: 341
File: systems/camel-java/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
Name: org.apache.camel.component.kafka.KafkaConfiguration.applySslConsumerConfigurationFromOptions(Properties props)
    private void applySslConsumerConfigurationFromOptions(Properties props) {
        if (securityProtocol.equals(SecurityProtocol.SSL.name()) || securityProtocol.equals(SecurityProtocol.SASL_SSL.name())) {
            addPropertyIfNotNull(props, SslConfigs.SSL_KEY_PASSWORD_CONFIG, getSslKeyPassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, getSslKeystoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, getSslKeystorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, getSslTruststoreLocation());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, getSslTruststorePassword());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_CIPHER_SUITES_CONFIG, getSslCipherSuites());
            String algo = getSslEndpointAlgorithm();
            if (algo != null && !algo.equals("none") && !algo.equals("false")) {
                addPropertyIfNotNull(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, algo);
            }
            addPropertyIfNotEmpty(props, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, getSslKeymanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, getSslTrustmanagerAlgorithm());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, getSslEnabledProtocols());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, getSslKeystoreType());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROTOCOL_CONFIG, getSslProtocol());
            addPropertyIfNotEmpty(props, SslConfigs.SSL_PROVIDER_CONFIG, getSslProvider());
            addUpperCasePropertyIfNotEmpty(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, getSslTruststoreType());
            addPropertyIfNotEmpty(props, ProducerConfig.SEND_BUFFER_CONFIG, getSendBufferBytes());
        }
    }
Pair #3960 Negative (Non-Clone)
ID: 23_34
ClassID: 23
File: systems/camel-java/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQQueueEndpoint.java
Name: org.apache.camel.component.activemq6.ActiveMQQueueEndpoint.ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy)
    public ActiveMQQueueEndpoint(String endpointUri, String destination, QueueBrowseStrategy queueBrowseStrategy) {
        super(endpointUri, destination, false);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 2526_2094
ClassID: 2526
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderTransformerResolver.resolve(TransformerKey key, CamelContext context)
    public Transformer resolve(TransformerKey key, CamelContext context) {
        String name = key.toString();
        TransformerModel model = catalog.transformerModel(name);
        if (model != null) {
            downloadLoader(model.getGroupId(), model.getArtifactId(), model.getVersion());
        }

        Transformer answer;
        boolean accept = accept(name);
        if (accept) {
            answer = super.resolve(key, context);
        } else {
            answer = new StubTransformer();
        }

        if (answer == null) {
            List<String> suggestion = SuggestSimilarHelper.didYouMean(catalog.findTransformerNames(), name);
            if (suggestion != null && !suggestion.isEmpty()) {
                String s = String.join(", ", suggestion);
                throw new IllegalArgumentException("Cannot find transformer with name: " + name + ". Did you mean: " + s);
            }
        }
        return answer;
    }
Pair #3961 Negative (Non-Clone)
ID: 1995_1640
ClassID: 1995
File: systems/camel-java/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockComponent.java
Name: org.apache.camel.component.mock.MockComponent.doInit()
    protected void doInit() throws Exception {
        if (exchangeFormatter == null) {
            DefaultExchangeFormatter def = new DefaultExchangeFormatter();
            def.setShowExchangeId(true);
            def.setShowExchangePattern(false);
            def.setSkipBodyLineSeparator(true);
            def.setShowBody(true);
            def.setShowBodyType(true);
            def.setStyle(DefaultExchangeFormatter.OutputStyle.Default);
            def.setMaxChars(10000);
            exchangeFormatter = def;
        }
    }
ID: 18_17
ClassID: 18
File: systems/camel-java/components/camel-caffeine/src/generated/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheProducerInvokeOnHeaderFactory.java
Name: org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducerInvokeOnHeaderFactory.invoke(Object obj, String key, Exchange exchange, AsyncCallback callback)
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer target = (org.apache.camel.component.caffeine.load.CaffeineLoadCacheProducer) obj;
        switch (key) {
        case "as_map":
        case "AS_MAP": target.onAsMap(exchange.getMessage()); return null;
        case "cleanup":
        case "CLEANUP": target.onCleanUp(exchange.getMessage()); return null;
        case "get":
        case "GET": target.onGet(exchange.getMessage()); return null;
        case "get_all":
        case "GET_ALL": target.onGetAll(exchange.getMessage()); return null;
        case "invalidate":
        case "INVALIDATE": target.onInvalidate(exchange.getMessage()); return null;
        case "invalidate_all":
        case "INVALIDATE_ALL": target.onInvalidateAll(exchange.getMessage()); return null;
        case "put":
        case "PUT": target.onPut(exchange.getMessage()); return null;
        case "put_all":
        case "PUT_ALL": target.onPutAll(exchange.getMessage()); return null;
        default: return null;
        }
    }
Pair #3962 Negative (Non-Clone)
ID: 1485_1324
ClassID: 1485
File: systems/camel-java/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/utils/consumers/FailoverConsumerStrategy.java
Name: org.apache.camel.component.pulsar.utils.consumers.FailoverConsumerStrategy.createMultipleConsumers(final PulsarEndpoint pulsarEndpoint)
    private Collection<Consumer<byte[]>> createMultipleConsumers(final PulsarEndpoint pulsarEndpoint) {
        final Collection<Consumer<byte[]>> consumers = new LinkedList<>();
        final PulsarConfiguration configuration = pulsarEndpoint.getPulsarConfiguration();

        for (int i = 0; i < configuration.getNumberOfConsumers(); i++) {
            final String consumerName = configuration.getConsumerNamePrefix() + i;
            try {
                ConsumerBuilder<byte[]> builder
                        = CommonCreationStrategyImpl.getBuilder(consumerName, pulsarEndpoint, pulsarConsumer);

                consumers.add(builder.subscriptionType(SubscriptionType.Failover).subscribe());
            } catch (PulsarClientException exception) {
                LOGGER.error("A PulsarClientException occurred when creating Consumer {}, {}", consumerName,
                        exception.getMessage(), exception);
            }
        }
        return consumers;
    }
ID: 2050_1669
ClassID: 2050
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.delayOrScheduleLockRelease(Runnable r)
    private void delayOrScheduleLockRelease(Runnable r) throws InterruptedException {
        if (readLockIdempotentReleaseDelay > 0 && readLockIdempotentReleaseExecutorService != null) {
            LOG.debug("Scheduling read lock release task to run asynchronous delayed after {} millis",
                    readLockIdempotentReleaseDelay);
            readLockIdempotentReleaseExecutorService.schedule(r, readLockIdempotentReleaseDelay, TimeUnit.MILLISECONDS);
        } else if (readLockIdempotentReleaseDelay > 0) {
            LOG.debug("Delaying read lock release task {} millis", readLockIdempotentReleaseDelay);
            Thread.sleep(readLockIdempotentReleaseDelay);
            r.run();
        } else {
            r.run();
        }
    }
Pair #3963 Negative (Non-Clone)
ID: 1257_1108
ClassID: 1257
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
Name: org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(final Exchange exchange)
    protected void processInTransaction(final Exchange exchange) {
         
        final String redelivered = Boolean.toString(exchange.isExternalRedelivered());
        final String ids = ExchangeHelper.logIds(exchange);

        try {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().beginTransactedBy(transactionKey);
            }

             
            logTransactionBegin(redelivered, ids);
            doInTransactionTemplate(exchange);
            logTransactionCommit(redelivered, ids);

        } catch (TransactionRollbackException e) {
             
            logTransactionRollback(redelivered, ids, null, true);
        } catch (Exception e) {
            exchange.setException(e);
            logTransactionRollback(redelivered, ids, e, false);
        } finally {
             
            if (exchange.getUnitOfWork() != null) {
                exchange.getUnitOfWork().endTransactedBy(transactionKey);
            }
        }

         
        boolean onlyLast = exchange.isRollbackOnlyLast();
        exchange.setRollbackOnlyLast(false);
        if (onlyLast) {
             
            if (LOG.isDebugEnabled()) {
                 
                Exception cause = exchange.getException();
                if (cause != null) {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for "
                              + "rollbackOnlyLast and caught: {}",
                            transactionKey, redelivered, ids, cause.getMessage(), cause);
                } else {
                    LOG.debug("Transaction rollback ({}) redelivered({}) for {} "
                              + "due exchange was marked for rollbackOnlyLast",
                            transactionKey, redelivered, ids);
                }
            }
             
             
            exchange.setException(null);
        }
    }
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3964 Negative (Non-Clone)
ID: 2448_1934
ClassID: 2448
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
Name: org.apache.camel.tooling.util.PackageHelper.walk(Path rootDir)
    public static Stream<Path> walk(Path rootDir) {
        try {
            if (Files.isDirectory(rootDir)) {
                return Files.walk(rootDir);
            } else {
                return Stream.empty();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
ID: 34_57
ClassID: 34
File: systems/camel-java/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
Name: org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView()
    private void retainClusterView() {
        lock.lock();
        try {
            clusterView = clusterService.getView(namespace);
            clusterView.addEventListener(leadershipEventListener);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            lock.unlock();
        }
    }
Pair #3965 Negative (Non-Clone)
ID: 2176_1709
ClassID: 2176
File: systems/camel-java/components/camel-platform-http-main/src/main/java/org/apache/camel/component/platform/http/main/DefaultMainHttpServerFactory.java
Name: org.apache.camel.component.platform.http.main.DefaultMainHttpServerFactory.configureAuthentication(ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration)
    private void configureAuthentication(
            ManagementHttpServer server, HttpManagementServerConfigurationProperties configuration) {
        if (configuration.getBasicPropertiesFile() != null) {
            BasicAuthenticationConfigurer auth = new BasicAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        } else if (configuration.getJwtKeystoreType() != null) {
            ObjectHelper.notNull(configuration.getJwtKeystorePath(), "jwtKeyStorePath");
            ObjectHelper.notNull(configuration.getJwtKeystorePassword(), "jwtKeyStorePassword");
            JWTAuthenticationConfigurer auth = new JWTAuthenticationConfigurer();
            auth.configureAuthentication(server.getConfiguration().getAuthenticationConfig(), configuration);
        }
    }
ID: 2602_2223
ClassID: 2602
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getShortOrDefault(final String key, final short defaultValue)
    public Short getShortOrDefault(final String key, final short defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).shortValue();
    }
Pair #3966 Negative (Non-Clone)
ID: 1122_953
ClassID: 1122
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-obs/src/main/java/org/apache/camel/component/huaweicloud/obs/models/OBSRegion.java
Name: org.apache.camel.component.huaweicloud.obs.models.OBSRegion.valueOf(String regionId)
    public static String valueOf(String regionId) {
        if (ObjectHelper.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        } else {
            String endpoint = REGIONS.get(regionId.toLowerCase());
            if (ObjectHelper.isNotEmpty(endpoint)) {
                return endpoint;
            } else {
                throw new IllegalArgumentException("Unexpected regionId: " + regionId);
            }
        }
    }
ID: 3230_2539
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileAbsolutePathExpression()
    public static Expression fileAbsolutePathExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileAbsolutePath", String.class);
            }

            @Override
            public String toString() {
                return "file:absolute.path";
            }
        };
    }
Pair #3967 Negative (Non-Clone)
ID: 738_661
ClassID: 738
File: systems/camel-java/components/camel-debezium/camel-debezium-mongodb/src/generated/java/org/apache/camel/component/debezium/mongodb/configuration/MongoDbConnectorEmbeddedDebeziumConfiguration.java
Name: org.apache.camel.component.debezium.mongodb.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration.createConnectorConfiguration()
    protected Configuration createConnectorConfiguration() {
        final Configuration.Builder configBuilder = Configuration.create();
        
        addPropertyIfNotNull(configBuilder, "transaction.metadata.factory", transactionMetadataFactory);
        addPropertyIfNotNull(configBuilder, "streaming.delay.ms", streamingDelayMs);
        addPropertyIfNotNull(configBuilder, "custom.metric.tags", customMetricTags);
        addPropertyIfNotNull(configBuilder, "mongodb.connection.string", mongodbConnectionString);
        addPropertyIfNotNull(configBuilder, "mongodb.password", mongodbPassword);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.namespace", openlineageIntegrationJobNamespace);
        addPropertyIfNotNull(configBuilder, "query.fetch.size", queryFetchSize);
        addPropertyIfNotNull(configBuilder, "signal.enabled.channels", signalEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.enabled", mongodbSslEnabled);
        addPropertyIfNotNull(configBuilder, "cursor.max.await.time.ms", cursorMaxAwaitTimeMs);
        addPropertyIfNotNull(configBuilder, "field.renames", fieldRenames);
        addPropertyIfNotNull(configBuilder, "mongodb.server.selection.timeout.ms", mongodbServerSelectionTimeoutMs);
        addPropertyIfNotNull(configBuilder, "poll.interval.ms", pollIntervalMs);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.max", guardrailCollectionsMax);
        addPropertyIfNotNull(configBuilder, "signal.data.collection", signalDataCollection);
        addPropertyIfNotNull(configBuilder, "converters", converters);
        addPropertyIfNotNull(configBuilder, "heartbeat.topics.prefix", heartbeatTopicsPrefix);
        addPropertyIfNotNull(configBuilder, "mongodb.connect.timeout.ms", mongodbConnectTimeoutMs);
        addPropertyIfNotNull(configBuilder, "snapshot.fetch.size", snapshotFetchSize);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.tags", openlineageIntegrationJobTags);
        addPropertyIfNotNull(configBuilder, "mongodb.poll.interval.ms", mongodbPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "incremental.snapshot.watermarking.strategy", incrementalSnapshotWatermarkingStrategy);
        addPropertyIfNotNull(configBuilder, "mongodb.user", mongodbUser);
        addPropertyIfNotNull(configBuilder, "heartbeat.interval.ms", heartbeatIntervalMs);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.schema.error", snapshotModeConfigurationBasedSnapshotOnSchemaError);
        addPropertyIfNotNull(configBuilder, "snapshot.collection.filter.overrides", snapshotCollectionFilterOverrides);
        addPropertyIfNotNull(configBuilder, "field.exclude.list", fieldExcludeList);
        addPropertyIfNotNull(configBuilder, "errors.max.retries", errorsMaxRetries);
        addPropertyIfNotNull(configBuilder, "database.exclude.list", databaseExcludeList);
        addPropertyIfNotNull(configBuilder, "max.batch.size", maxBatchSize);
        addPropertyIfNotNull(configBuilder, "skipped.operations", skippedOperations);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.description", openlineageIntegrationJobDescription);
        addPropertyIfNotNull(configBuilder, "topic.naming.strategy", topicNamingStrategy);
        addPropertyIfNotNull(configBuilder, "snapshot.mode", snapshotMode);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.data", snapshotModeConfigurationBasedSnapshotData);
        addPropertyIfNotNull(configBuilder, "extended.headers.enabled", extendedHeadersEnabled);
        addPropertyIfNotNull(configBuilder, "max.queue.size", maxQueueSize);
        addPropertyIfNotNull(configBuilder, "guardrail.collections.limit.action", guardrailCollectionsLimitAction);
        addPropertyIfNotNull(configBuilder, "custom.sanitize.pattern", customSanitizePattern);
        addPropertyIfNotNull(configBuilder, "collection.include.list", collectionIncludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.job.owners", openlineageIntegrationJobOwners);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.config.file.path", openlineageIntegrationConfigFilePath);
        addPropertyIfNotNull(configBuilder, "retriable.restart.connector.wait.ms", retriableRestartConnectorWaitMs);
        addPropertyIfNotNull(configBuilder, "capture.mode", captureMode);
        addPropertyIfNotNull(configBuilder, "snapshot.delay.ms", snapshotDelayMs);
        addPropertyIfNotNull(configBuilder, "executor.shutdown.timeout.ms", executorShutdownTimeoutMs);
        addPropertyIfNotNull(configBuilder, "provide.transaction.metadata", provideTransactionMetadata);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.on.data.error", snapshotModeConfigurationBasedSnapshotOnDataError);
        addPropertyIfNotNull(configBuilder, "schema.history.internal.file.filename", schemaHistoryInternalFileFilename);
        addPropertyIfNotNull(configBuilder, "tombstones.on.delete", tombstonesOnDelete);
        addPropertyIfNotNull(configBuilder, "topic.prefix", topicPrefix);
        addPropertyIfNotNull(configBuilder, "sourceinfo.struct.maker", sourceinfoStructMaker);
        addPropertyIfNotNull(configBuilder, "mongodb.authsource", mongodbAuthsource);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.dataset.kafka.bootstrap.servers", openlineageIntegrationDatasetKafkaBootstrapServers);
        addPropertyIfNotNull(configBuilder, "collection.exclude.list", collectionExcludeList);
        addPropertyIfNotNull(configBuilder, "openlineage.integration.enabled", openlineageIntegrationEnabled);
        addPropertyIfNotNull(configBuilder, "snapshot.include.collection.list", snapshotIncludeCollectionList);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.start.stream", snapshotModeConfigurationBasedStartStream);
        addPropertyIfNotNull(configBuilder, "max.queue.size.in.bytes", maxQueueSizeInBytes);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.configuration.based.snapshot.schema", snapshotModeConfigurationBasedSnapshotSchema);
        addPropertyIfNotNull(configBuilder, "signal.poll.interval.ms", signalPollIntervalMs);
        addPropertyIfNotNull(configBuilder, "post.processors", postProcessors);
        addPropertyIfNotNull(configBuilder, "notification.enabled.channels", notificationEnabledChannels);
        addPropertyIfNotNull(configBuilder, "mongodb.socket.timeout.ms", mongodbSocketTimeoutMs);
        addPropertyIfNotNull(configBuilder, "event.processing.failure.handling.mode", eventProcessingFailureHandlingMode);
        addPropertyIfNotNull(configBuilder, "snapshot.max.threads", snapshotMaxThreads);
        addPropertyIfNotNull(configBuilder, "notification.sink.topic.name", notificationSinkTopicName);
        addPropertyIfNotNull(configBuilder, "snapshot.mode.custom.name", snapshotModeCustomName);
        addPropertyIfNotNull(configBuilder, "schema.name.adjustment.mode", schemaNameAdjustmentMode);
        addPropertyIfNotNull(configBuilder, "mongodb.ssl.invalid.hostname.allowed", mongodbSslInvalidHostnameAllowed);
        addPropertyIfNotNull(configBuilder, "mongodb.heartbeat.frequency.ms", mongodbHeartbeatFrequencyMs);
        addPropertyIfNotNull(configBuilder, "connection.validation.timeout.ms", connectionValidationTimeoutMs);
        addPropertyIfNotNull(configBuilder, "database.include.list", databaseIncludeList);
        
        return configBuilder.build();
    }
ID: 2449_1936
ClassID: 2449
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.copyAgentLibDependencies(MavenGav gav)
    private void copyAgentLibDependencies(MavenGav gav) {
        try {
            List<MavenArtifact> artifacts = getDownloader().resolveArtifacts(
                    List.of(gav.toString()), Set.of(), true, gav.getVersion().contains("SNAPSHOT"));
            for (MavenArtifact artifact : artifacts) {
                Path target = Paths.get(BUILD_DIR, "agent", artifact.getFile().getName());
                if (Files.exists(target) || EXCLUDED_GROUP_IDS.contains(artifact.getGav().getGroupId())) {
                    continue;
                }
                Files.copy(artifact.getFile().toPath(), target);
            }
        } catch (MavenResolutionException e) {
            printer().printErr("Error resolving the artifact: " + gav + " due to: " + e.getMessage());
        } catch (IOException e) {
            printer().printErr("Error copying the artifact: " + gav + " due to: " + e.getMessage());
        }
    }
Pair #3968 Negative (Non-Clone)
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
ID: 189_208
ClassID: 189
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiProcessor.processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback)
    private void processGetQueryResultIds(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String jobId;
        BatchInfo batchBody;
        String batchId;
        batchBody = exchange.getIn().getBody(BatchInfo.class);
        if (batchBody != null) {
            jobId = batchBody.getJobId();
            batchId = batchBody.getId();
        } else {
            jobId = getParameter(JOB_ID, exchange, IGNORE_BODY, NOT_OPTIONAL);
            batchId = getParameter(BATCH_ID, exchange, USE_BODY, NOT_OPTIONAL);
        }
        bulkClient.getQueryResultIds(jobId, batchId, determineHeaders(exchange), new BulkApiClient.QueryResultIdsCallback() {
            @Override
            public void onResponse(List<String> ids, Map<String, String> headers, SalesforceException ex) {
                processResponse(exchange, ids, headers, ex, callback);
            }
        });
    }
Pair #3969 Negative (Non-Clone)
ID: 411_442
ClassID: 411
File: systems/camel-java/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLRestBindingJacksonXmlDataFormatFactory.java
Name: org.apache.camel.component.jacksonxml.JacksonXMLRestBindingJacksonXmlDataFormatFactory.getTypeName(String type, Class<?> typeClass)
    private static String getTypeName(String type, Class<?> typeClass) {
        String typeName = null;
        if (typeClass != null) {
            typeName = typeClass.isArray() ? typeClass.getComponentType().getName() : typeClass.getName();
        } else if (type != null) {
            typeName = type.endsWith("[]") ? type.substring(0, type.length() - 2) : type;
        }
        return typeName;
    }
ID: 2386_1882
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onPrivmsg(String target, IRCUser user, String msg)
        public void onPrivmsg(String target, IRCUser user, String msg) {
            if (configuration.isOnPrivmsg()) {
                Exchange exchange = createOnPrivmsgExchange(target, user, msg);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #3970 Negative (Non-Clone)
ID: 27_49
ClassID: 27
File: systems/camel-java/components/camel-snmp/src/generated/java/org/apache/camel/component/snmp/SnmpConvertersLoader.java
Name: org.apache.camel.component.snmp.SnmpConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.lang.String.class, org.snmp4j.PDU.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toString((org.snmp4j.PDU) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.apache.camel.component.snmp.OIDList.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.snmp.SnmpConverters.toOIDList((java.lang.String) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 2606_2235
ClassID: 2606
File: systems/camel-java/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
Name: org.apache.camel.tooling.util.ReflectionHelper.doWithClasses(Class<?> clazz, ClassCallback cc)
    public static void doWithClasses(Class<?> clazz, ClassCallback cc) throws IllegalArgumentException {
         
        Class<?>[] classes = clazz.getDeclaredClasses();
        for (Class<?> aClazz : classes) {
            try {
                cc.doWith(aClazz);
            } catch (IllegalAccessException ex) {
                throw new IllegalStateException("Shouldn't be illegal to access class '" + aClazz.getName() + "': " + ex);
            }
        }
    }
Pair #3971 Negative (Non-Clone)
ID: 256_330
ClassID: 256
File: systems/camel-java/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConsumer.java
Name: org.apache.camel.component.azure.storage.blob.BlobConsumer.createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
    private Exchange createExchangeFromBlob(final String blobName, final BlobContainerClient blobContainerClient)
            throws IOException {
        final BlobClientWrapper clientWrapper
                = new BlobClientWrapper(blobContainerClient.getBlobClient(blobName));
        final BlobOperations operations = new BlobOperations(getEndpoint().getConfiguration(), clientWrapper);
        final Exchange exchange = createExchange(true);

        BlobOperationResponse response;
        if (!ObjectHelper.isEmpty(getEndpoint().getConfiguration().getFileDir())) {
             
            response = operations.downloadBlobToFile(exchange);
        } else {
             
            response = operations.getBlob(exchange);
        }

        getEndpoint().setResponseOnExchange(response, exchange);

        exchange.getIn().setHeader(BlobConstants.BLOB_NAME, blobName);
        return exchange;
    }
ID: 228_270
ClassID: 228
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/strategy/ExclusiveReadLockCheck.java
Name: org.apache.camel.component.file.remote.strategy.ExclusiveReadLockCheck.getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file)
    private FTPFile[] getFtpFilesByFilter(GenericFileOperations<FTPFile> operations, GenericFile<FTPFile> file) {
         
         
        String path = file.getParent();
        if (path.equals("/") || path.equals("\\")) {
             
            LOG.trace(
                    "Using full directory listing in home directory to update file information. Consider enabling fastExistsCheck option.");
            return operations.listFiles();
        } else {
            LOG.trace(
                    "Using full directory listing to update file information for {}. Consider enabling fastExistsCheck option.",
                    path);
            return operations.listFiles(path);
        }
    }
Pair #3972 Negative (Non-Clone)
ID: 3252_2603
ClassID: 3252
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
Name: org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean.createInstance()
    protected TrustManagersParameters createInstance() throws Exception {
        TrustManagersParameters newInstance = new TrustManagersParameters();

        newInstance.setAlgorithm(algorithm);
        if (getKeyStore() != null) {
            getKeyStore().setCamelContext(getCamelContext());
            newInstance.setKeyStore(getKeyStore().getObject());
        }
        newInstance.setProvider(provider);
        newInstance.setCamelContext(getCamelContext());

        if (trustManager != null) {
            TrustManager tm = CamelContextHelper.mandatoryLookup(getCamelContext(), trustManager, TrustManager.class);
            newInstance.setTrustManager(tm);
        }

        return newInstance;
    }
ID: 180_168
ClassID: 180
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request)
    private void doHttpRequestWithQueryJobResponse(QueryJobResponseCallback callback, Request request) {
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
        });
    }
Pair #3973 Negative (Non-Clone)
ID: 2106_1698
ClassID: 2106
File: systems/camel-java/components/camel-flink/src/main/java/org/apache/camel/component/flink/DataStreamFlinkProducer.java
Name: org.apache.camel.component.flink.DataStreamFlinkProducer.collectResults(Exchange exchange, Object result)
    protected void collectResults(Exchange exchange, Object result) {
        if (result instanceof DataStream) {
            if (getEndpoint().isCollect()) {
                throw new IllegalArgumentException("collect mode not supported for Flink DataStreams.");
            } else {
                exchange.getIn().setBody(result);
                exchange.getIn().setHeader(FlinkConstants.FLINK_DATASTREAM_HEADER, result);
            }
        } else {
            exchange.getIn().setBody(result);
        }
    }
ID: 1862_1530
ClassID: 1862
File: systems/camel-java/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
Name: org.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager.getAlgorithmName(String algorithm)
    private String getAlgorithmName(String algorithm) {
        try {
            return PQCSignatureAlgorithms.valueOf(algorithm).getAlgorithm();
        } catch (IllegalArgumentException e1) {
            try {
                return PQCKeyEncapsulationAlgorithms.valueOf(algorithm).getAlgorithm();
            } catch (IllegalArgumentException e2) {
                return algorithm;
            }
        }
    }
Pair #3974 Negative (Non-Clone)
ID: 3202_2462
ClassID: 3202
File: systems/camel-java/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationProperties.java
Name: org.apache.camel.main.MainConfigurationProperties.addMainListenerClass(Class<? extends MainListener>... listener)
    private void addMainListenerClass(Class<? extends MainListener>... listener) {
        StringJoiner existing = new StringJoiner(",");
        if (mainListenerClasses != null && !mainListenerClasses.isEmpty()) {
            existing.add(mainListenerClasses);
        }
        if (listener != null) {
            for (Class<? extends MainListener> clazz : listener) {
                existing.add(clazz.getName());
            }
        }
        setMainListenerClasses(existing.toString());
    }
ID: 976_823
ClassID: 976
File: systems/camel-java/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
Name: org.apache.camel.processor.aggregate.jdbc.ClusteredPostgresAggregationRepository.insert(final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName, final Long version, final boolean completed)
    protected void insert(
            final CamelContext camelContext, final String correlationId, final Exchange exchange, String repositoryName,
            final Long version, final boolean completed)
            throws Exception {
         
        int totalParameterIndex = 2;
        StringBuilder queryBuilder = new StringBuilder(256)
                .append("INSERT INTO ").append(repositoryName)
                .append('(')
                .append(EXCHANGE).append(", ")
                .append(ID);

        if (isStoreBodyAsText()) {
            queryBuilder.append(", ").append(BODY);
            totalParameterIndex++;
        }

        if (hasHeadersToStoreAsText()) {
            for (String headerName : getHeadersToStoreAsText()) {
                queryBuilder.append(", ").append(headerName);
                totalParameterIndex++;
            }
        }

        queryBuilder.append(") VALUES (");

        queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex - 1)));
        queryBuilder.append("?)");

        queryBuilder.append(" ON CONFLICT DO NOTHING");

        String sql = queryBuilder.toString();

        int updateCount = insertHelper(camelContext, correlationId, exchange, sql, 1L, completed);
        if (updateCount == 0 && getRepositoryName().equals(repositoryName)) {
            throw new DataIntegrityViolationException("No row was inserted due to data violation");
        }
    }
Pair #3975 Negative (Non-Clone)
ID: 897_750
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
Name: org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
            AsyncCallback cb = defaultConsumerCallback(exchange, true);
            getAsyncProcessor().process(exchange, cb);
        }

        return total;
    }
ID: 838_722
ClassID: 838
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.createMqttClientPersistence(PahoMqtt5Configuration configuration)
    protected static MqttClientPersistence createMqttClientPersistence(PahoMqtt5Configuration configuration) {
        if (configuration.getPersistence() == PahoMqtt5Persistence.MEMORY) {
            return new MemoryPersistence();
        } else {
            if (configuration.getFilePersistenceDirectory() != null) {
                return new MqttDefaultFilePersistence(configuration.getFilePersistenceDirectory());
            } else {
                return new MqttDefaultFilePersistence();
            }
        }
    }
Pair #3976 Negative (Non-Clone)
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 1983_1625
ClassID: 1983
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.validate(UserMessage userMessage)
    public InputGuardrailResult validate(UserMessage userMessage) {
        if (userMessage == null || userMessage.singleText() == null) {
            return fatal("User message cannot be null or empty");
        }

        String text = userMessage.singleText();
        int length = text.length();

        if (length < minChars) {
            return failure(
                    String.format("Input too short: %d characters (minimum: %d)", length, minChars));
        }

        if (length > maxChars) {
            return failure(
                    String.format("Input too long: %d characters (maximum: %d)", length, maxChars));
        }

        return success();
    }
Pair #3977 Negative (Non-Clone)
ID: 3101_2377
ClassID: 3101
File: systems/camel-java/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
Name: org.apache.camel.model.PollDefinition.getEndpointUri()
    public String getEndpointUri() {
        if (endpointConsumerBuilder != null) {
            return endpointConsumerBuilder.getRawUri();
        } else if (endpoint != null) {
            return endpoint.getEndpointUri();
        } else {
            return uri;
        }
    }
ID: 1130_963
ClassID: 1130
File: systems/camel-java/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectComponent.java
Name: org.apache.camel.component.direct.DirectComponent.removeConsumer(String key, DirectConsumer consumer)
    public void removeConsumer(String key, DirectConsumer consumer) {
        consumersLock.lock();
        try {
            consumers.remove(key, consumer);
             
            stateCounter++;
            consumersCondition.signalAll();
        } finally {
            consumersLock.unlock();
        }
    }
Pair #3978 Negative (Non-Clone)
ID: 1160_990
ClassID: 1160
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/DefaultCamelReactiveStreamsService.java
Name: org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.from(String uri)
    public Publisher<Exchange> from(String uri) {
        publishedUriToStream.computeIfAbsent(uri, u -> {
            try {
                String uuid = context.getUuidGenerator().generateUuid();
                new RouteBuilder() {
                    @Override
                    public void configure() {
                        from(u)
                                .to("reactive-streams:" + uuid);
                    }
                }.addRoutesToCamelContext(context);

                return uuid;
            } catch (Exception e) {
                throw new IllegalStateException("Unable to create source reactive stream from direct URI: " + uri, e);
            }
        });
        return fromStream(publishedUriToStream.get(uri));
    }
ID: 1406_1259
ClassID: 1406
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprPubSubConsumer.java
Name: org.apache.camel.component.dapr.consumer.DaprPubSubConsumer.createServiceBusExchange(final CloudEvent<byte[]> cloudEvent)
    private Exchange createServiceBusExchange(final CloudEvent<byte[]> cloudEvent) {
        final Exchange exchange = createExchange(true);
        final Message message = exchange.getIn();

         
        message.setBody(cloudEvent.getData());

         
        message.setHeader(DaprConstants.PUBSUB_NAME, cloudEvent.getPubsubName());
        message.setHeader(DaprConstants.TOPIC, cloudEvent.getTopic());
        message.setHeader(DaprConstants.ID, cloudEvent.getId());
        message.setHeader(DaprConstants.SOURCE, cloudEvent.getSource());
        message.setHeader(DaprConstants.TYPE, cloudEvent.getType());
        message.setHeader(DaprConstants.SPECIFIC_VERSION, cloudEvent.getSpecversion());
        message.setHeader(DaprConstants.DATA_CONTENT_TYPE, cloudEvent.getDatacontenttype());
        message.setHeader(DaprConstants.BINARY_DATA, cloudEvent.getBinaryData());
        message.setHeader(DaprConstants.TIME, cloudEvent.getTime());
        message.setHeader(DaprConstants.TRACE_PARENT, cloudEvent.getTraceParent());
        message.setHeader(DaprConstants.TRACE_STATE, cloudEvent.getTraceState());

        return exchange;
    }
Pair #3979 Negative (Non-Clone)
ID: 14_13
ClassID: 14
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/processor/aggregate/EhcacheAggregationRepository.java
Name: org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository.doStart()
    protected void doStart() throws Exception {
        if (maximumRedeliveries < 0) {
            throw new IllegalArgumentException("Maximum redelivery retries must be zero or a positive integer.");
        }
        if (recoveryInterval < 0) {
            throw new IllegalArgumentException("Recovery interval must be zero or a positive integer.");
        }

        if (cache == null) {
            ObjectHelper.notNull(cacheManager, "cacheManager");
            cache = cacheManager.getCache(cacheName, String.class, DefaultExchangeHolder.class);
        }
    }
ID: 1163_996
ClassID: 1163
File: systems/camel-java/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/engine/UnwrappingPublisher.java
Name: org.apache.camel.component.reactive.streams.engine.UnwrappingPublisher.onSubscribe(Subscription newSubscription)
            public void onSubscribe(Subscription newSubscription) {
                if (newSubscription == null) {
                    throw new NullPointerException("subscription is null");
                } else if (newSubscription == this.subscription) {
                    throw new IllegalArgumentException("already subscribed to the subscription: " + newSubscription);
                }

                if (this.subscription != null) {
                    newSubscription.cancel();
                } else {
                    this.subscription = newSubscription;
                    subscriber.onSubscribe(newSubscription);
                }
            }
Pair #3980 Negative (Non-Clone)
ID: 3285_2680
ClassID: 3285
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
Name: org.apache.camel.support.processor.CamelLogProcessor.process(Exchange exchange, Throwable exception)
    public void process(Exchange exchange, Throwable exception) {
        if (logger.shouldLog()) {
            String output = formatter.format(exchange);
            if (maskingFormatter != null) {
                output = maskingFormatter.format(output);
            }
            output = fireListeners(exchange, output);
            logger.log(output, exception);
            closeListeners(exchange, output);
        }
    }
ID: 441_463
ClassID: 441
File: systems/camel-java/components/camel-netty/src/main/java/org/apache/camel/component/netty/TimeoutCorrelationManagerSupport.java
Name: org.apache.camel.component.netty.TimeoutCorrelationManagerSupport.doShutdown()
    protected void doShutdown() throws Exception {
        ServiceHelper.stopAndShutdownService(map);

        if (scheduledExecutorService != null && stopScheduledExecutorService) {
            camelContext.getExecutorServiceManager().shutdown(scheduledExecutorService);
            scheduledExecutorService = null;
        }
        if (workerPool != null && stopWorkerPool) {
            camelContext.getExecutorServiceManager().shutdown(workerPool);
            workerPool = null;
        }
    }
Pair #3981 Negative (Non-Clone)
ID: 2579_2174
ClassID: 2579
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelMainDocMojo.updateOptionsIn(final File file, final String kind, final String changed)
    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
        if (!file.exists()) {
            return false;
        }

        final String updated = changed.trim();
        try {
            String text = PackageHelper.loadText(file);

            String existing = Strings.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
            if (existing != null) {
                 
                existing = existing.trim();
                if (existing.equals(updated)) {
                    return false;
                }

                String before = Strings.before(text, "// " + kind + " options: START");
                String after = Strings.after(text, "// " + kind + " options: END");
                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
                PackageHelper.writeText(file, text);
                return true;
            }

            getLog().warn("Cannot find markers in file " + file);
            getLog().warn("Add the following markers");
            getLog().warn("\t// " + kind + " options: START");
            getLog().warn("\t// " + kind + " options: END");
            return false;
        } catch (IOException e) {
            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
        }
    }
ID: 2444_1928
ClassID: 2444
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
Name: org.apache.camel.dsl.jbang.core.commands.process.ProcessBaseCommand.findPids(String name)
    List<Long> findPids(String name) {
        List<Long> pids = new ArrayList<>();

         
        if (name.matches("\\d+")) {
            return List.of(Long.parseLong(name));
        } else {
            if (name.endsWith("!")) {
                 
                name = name.substring(0, name.length() - 1);
            } else if (!name.endsWith("*")) {
                 
                name = name + "*";
            }
        }

        final long cur = ProcessHandle.current().pid();
        final String pattern = name;
        ProcessHandle.allProcesses()
                .filter(ph -> ph.pid() != cur)
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                     
                    if (root != null) {
                        String pName = ProcessHelper.extractName(root, ph);
                         
                        pName = FileUtil.onlyName(pName);
                        if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                            pids.add(ph.pid());
                        } else {
                             
                            JsonObject context = (JsonObject) root.get("context");
                            if (context != null) {
                                pName = context.getString("name");
                                if ("CamelJBang".equals(pName)) {
                                    pName = null;
                                }
                                if (pName != null && !pName.isEmpty() && PatternHelper.matchPattern(pName, pattern)) {
                                    pids.add(ph.pid());
                                }
                            }
                        }
                    }
                });

        return pids;
    }
Pair #3982 Negative (Non-Clone)
ID: 2465_1976
ClassID: 2465
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction.isValidGrep(String line)
    private boolean isValidGrep(String line) {
        if (grep == null) {
            return true;
        }
        for (String g : grep) {
            boolean m = Pattern.compile("(?i)" + g).matcher(line).find();
            if (m) {
                return true;
            }
        }
        return false;
    }
ID: 1459_1311
ClassID: 1459
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprOperationResponse.java
Name: org.apache.camel.component.dapr.operations.DaprOperationResponse.createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus)
    public static DaprOperationResponse createFromWorkflowStatus(WorkflowInstanceStatus workflowStatus) {
        Map<String, Object> responseHeaders = new HashMap<>();

        responseHeaders.put(DaprConstants.WORKFLOW_NAME, workflowStatus.getName());
        responseHeaders.put(DaprConstants.WORKFLOW_CREATED_AT, workflowStatus.getCreatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_UPDATED_AT, workflowStatus.getLastUpdatedAt());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_INPUT, workflowStatus.getSerializedInput());
        responseHeaders.put(DaprConstants.WORKFLOW_SERIALIZED_OUTPUT, workflowStatus.getSerializedOutput());
        responseHeaders.put(DaprConstants.WORKFLOW_FAILURE_DETAILS, workflowStatus.getFailureDetails());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_RUNNING, workflowStatus.isRunning());
        responseHeaders.put(DaprConstants.IS_WORKFLOW_COMPLETED, workflowStatus.isCompleted());

        return create(workflowStatus, responseHeaders);
    }
Pair #3983 Negative (Non-Clone)
ID: 1240_1061
ClassID: 1240
File: systems/camel-java/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java
Name: org.apache.camel.component.smooks.converter.SourceConverterLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, org.smooks.api.io.Source.class, org.apache.camel.WrappedFile.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toURISource((org.apache.camel.WrappedFile) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSource.class, org.smooks.io.sink.JavaSink.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource((org.smooks.io.sink.JavaSink) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.JavaSourceWithoutEventStream.class, java.lang.Object.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toJavaSourceWithoutEventStream(value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StreamSource.class, java.io.InputStream.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((java.io.InputStream) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, org.smooks.io.source.StringSource.class, java.lang.String.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.smooks.converter.SourceConverter.toStringSource((java.lang.String) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #3984 Negative (Non-Clone)
ID: 1033_884
ClassID: 1033
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
Name: org.apache.camel.component.undertow.UndertowComponent.initSecurityProvider()
    private void initSecurityProvider() throws Exception {
        Object securityConfiguration = getSecurityConfiguration();
        if (securityConfiguration != null) {
            ServiceLoader<UndertowSecurityProvider> securityProvider = ServiceLoader.load(UndertowSecurityProvider.class);

            Iterator<UndertowSecurityProvider> iter = securityProvider.iterator();
            List<String> providers = new LinkedList();
            while (iter.hasNext()) {
                UndertowSecurityProvider security = iter.next();
                 
                if (security.acceptConfiguration(securityConfiguration, null)) {
                    this.securityProvider = security;
                    LOG.info("Security provider found {}", securityProvider.getClass().getName());
                    break;
                }
                providers.add(security.getClass().getName());
            }
            if (this.securityProvider == null) {
                LOG.info("Security provider for configuration {} not found {}", securityConfiguration, providers);
            }
        }
    }
ID: 1320_1227
ClassID: 1320
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/vault/SecretsReloadTriggerTask.java
Name: org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.run()
    public void run() {
        startingTime = Instant.now();
        final CountDownLatch isWatchClosed = new CountDownLatch(1);
        Watch watch = kubernetesClient.secrets().inNamespace(kubernetesClient.getNamespace()).watch(new Watcher<>() {
            @Override
            public void eventReceived(Action action, Secret secret) {
                switch (action.name()) {
                    case "MODIFIED":
                        if (isReloadEnabled()) {
                            if (matchSecret(secret.getMetadata().getName())) {
                                LOG.info("Update for Kubernetes Secret: {} detected, triggering CamelContext reload",
                                        secret.getMetadata().getName());
                                ContextReloadStrategy reload = camelContext.hasService(ContextReloadStrategy.class);
                                if (reload != null) {
                                     
                                    reload.onReload(this);
                                }
                            }
                        }
                        break;
                    default:
                        LOG.debug("Not watched event {}", action.name());
                }
            }

            @Override
            public void onClose(WatcherException e) {
                isWatchClosed.countDown();
            }
        });

         
        try {
            isWatchClosed.await();
        } catch (InterruptedException e) {
            LOG.debug("Interrupted while waiting for the watch to close: {}", e.getMessage());
            Thread.currentThread().interrupt();
        }
        watch.close();
    }
Pair #3985 Negative (Non-Clone)
ID: 2596_2200
ClassID: 2596
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getBigDecimal(final String key)
    public BigDecimal getBigDecimal(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof BigDecimal) {
             
        } else if (returnable instanceof Number) {
             
            returnable = new BigDecimal(returnable.toString());
        } else if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return (BigDecimal) returnable;
    }
ID: 635_567
ClassID: 635
File: systems/camel-java/components/camel-stax/src/main/java/org/apache/camel/language/xtokenizer/XMLTokenExpressionIterator.java
Name: org.apache.camel.language.xtokenizer.XMLTokenExpressionIterator.next()
        public Object next() {
            Object o = nextToken;
            try {
                nextToken = getNextToken();
            } catch (XMLStreamException e) {
                nextToken = null;
                throw new RuntimeException(e);
            }
            return o;
        }
Pair #3986 Negative (Non-Clone)
ID: 3206_2472
ClassID: 3206
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/converter/stream/FileInputStreamCache.java
Name: org.apache.camel.converter.stream.FileInputStreamCache.cleanUpTempFile()
        void cleanUpTempFile() {
             
            try {
                if (tempFile != null) {
                    FileUtil.deleteFile(tempFile);
                    tempFile = null;
                }
            } catch (Exception e) {
                LOG.warn("Error deleting temporary cache file: {}. This exception will be ignored.", tempFile, e);
            }
        }
ID: 1810_1494
ClassID: 1810
File: systems/camel-java/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java
Name: org.apache.camel.component.docker.producer.DockerProducer.executeCreateContainerRequest(DockerClient client, Message message)
    private CreateContainerCmd executeCreateContainerRequest(DockerClient client, Message message) {

        LOGGER.debug("Executing Docker Create Container Request");

        String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);

        ObjectHelper.notNull(image, "Image must be specified");

        CreateContainerCmd createContainerCmd = client.createContainerCmd(image);
        createContainerCmd.withHostConfig(newHostConfig());

        Boolean attachStdErr
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);

        if (attachStdErr != null) {
            createContainerCmd.withAttachStderr(attachStdErr);
        }

        Boolean attachStdIn
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);

        if (attachStdIn != null) {
            createContainerCmd.withAttachStdin(attachStdIn);
        }

        Boolean attachStdOut
                = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);

        if (attachStdOut != null) {
            createContainerCmd.withAttachStdout(attachStdOut);
        }

        Capability[] capAdd = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_ADD, message, Capability.class);

        if (capAdd != null) {
            createContainerCmd.getHostConfig().withCapAdd(capAdd);
        }

        Capability[] capDrop = DockerHelper.getArrayProperty(DockerConstants.DOCKER_CAP_DROP, message, Capability.class);

        if (capDrop != null) {
            createContainerCmd.getHostConfig().withCapDrop(capDrop);
        }

        String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);

        if (cmd != null) {
            createContainerCmd.withCmd(cmd);
        }

        Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);

        if (cpuShares != null) {
            createContainerCmd.getHostConfig().withCpuShares(cpuShares);
        }

        Boolean disableNetwork
                = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);

        if (disableNetwork != null) {
            createContainerCmd.withNetworkDisabled(disableNetwork);
        }

        String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);

        if (dns != null) {
            createContainerCmd.getHostConfig().withDns(dns);
        }

        String domainName = DockerHelper.getProperty(DockerConstants.DOCKER_DOMAIN_NAME, configuration, message, String.class);

        if (domainName != null) {
            createContainerCmd.withDomainName(domainName);
        }

        String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);

        if (env != null) {
            createContainerCmd.withEnv(env);
        }

        String[] entrypoint = DockerHelper.getArrayProperty(DockerConstants.DOCKER_ENTRYPOINT, message, String.class);

        if (entrypoint != null) {
            createContainerCmd.withEntrypoint(entrypoint);
        }

        ExposedPort[] exposedPorts
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);

        if (exposedPorts != null) {
            createContainerCmd.withExposedPorts(exposedPorts);
        }

        HostConfig hostConfig
                = DockerHelper.getProperty(DockerConstants.DOCKER_HOST_CONFIG, configuration, message, HostConfig.class);

        if (hostConfig != null) {
            createContainerCmd.withHostConfig(hostConfig);
        }

        String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);

        if (hostName != null) {
            createContainerCmd.withHostName(hostName);
        }

        Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);

        if (memoryLimit != null) {
            createContainerCmd.getHostConfig().withMemory(memoryLimit);
        }

        Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);

        if (memorySwap != null) {
            createContainerCmd.getHostConfig().withMemorySwap(memorySwap);
        }

        String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);

        if (name != null) {
            createContainerCmd.withName(name);
        }

        String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);

        if (portSpecs != null) {
            createContainerCmd.withPortSpecs(portSpecs);
        }

        Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);

        if (stdInOpen != null) {
            createContainerCmd.withStdinOpen(stdInOpen);
        }

        Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);

        if (stdInOnce != null) {
            createContainerCmd.withStdInOnce(stdInOnce);
        }

        Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);

        if (tty != null) {
            createContainerCmd.withTty(tty);
        }

        String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);

        if (user != null) {
            createContainerCmd.withUser(user);
        }

        Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);

        if (volume != null) {
            createContainerCmd.withVolumes(volume);
        }

        Bind[] binds = DockerHelper.getArrayProperty(DockerConstants.DOCKER_BINDS, message, Bind.class);

        if (binds != null) {
            createContainerCmd.getHostConfig().withBinds(binds);
        }

        VolumesFrom[] volumesFrom
                = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES_FROM, message, VolumesFrom.class);

        if (volumesFrom != null) {
            createContainerCmd.getHostConfig().withVolumesFrom(volumesFrom);
        }

        String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);

        if (workingDir != null) {
            createContainerCmd.withWorkingDir(workingDir);
        }

        return createContainerCmd;

    }
Pair #3987 Negative (Non-Clone)
ID: 2249_1775
ClassID: 2249
File: systems/camel-java/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanProducer.java
Name: org.apache.camel.component.infinispan.InfinispanProducer.onPut(Message message)
    public void onPut(Message message) {
        final BasicCache<Object, Object> cache = getCache(message);
        final Object key = message.getHeader(InfinispanConstants.KEY, configuration::getKey);
        final Object value = message.getHeader(InfinispanConstants.VALUE, configuration::getValue);
        final Object result;

        if (hasLifespan(message)) {
            long lifespan = message.getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
            TimeUnit timeUnit = message.getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, TimeUnit.class);

            if (hasMaxIdleTime(message)) {
                long maxIdle = message.getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
                TimeUnit maxIdleTimeUnit = message.getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, TimeUnit.class);

                result = cache.put(key, value, lifespan, timeUnit, maxIdle, maxIdleTimeUnit);
            } else {
                result = cache.put(key, value, lifespan, timeUnit);
            }
        } else {
            result = cache.put(key, value);
        }

        setResult(message, result);
    }
ID: 106_94
ClassID: 106
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.bulkCreateUsers(Keycloak keycloakClient, Exchange exchange)
    private void bulkCreateUsers(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        List<UserRepresentation> users = exchange.getIn().getHeader(KeycloakConstants.USERS, List.class);
        if (users == null || users.isEmpty()) {
             
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof List) {
                users = CastUtils.cast((List<?>) payload);
            } else {
                throw new IllegalArgumentException("Users list must be provided via header or body");
            }
        }

        boolean continueOnError
                = exchange.getIn().getHeader(KeycloakConstants.CONTINUE_ON_ERROR, Boolean.FALSE, Boolean.class);
        List<Map<String, Object>> results = new ArrayList<>();
        int successCount = 0;
        int failureCount = 0;

        for (UserRepresentation user : users) {
            Map<String, Object> result = new HashMap<>();
            result.put("username", user.getUsername());
            try (Response response = keycloakClient.realm(realmName).users().create(user)) {
                result.put("status", "success");
                result.put("statusCode", response.getStatus());
                successCount++;
                response.close();
            } catch (Exception e) {
                result.put("status", "failed");
                result.put("error", e.getMessage());
                failureCount++;
                if (!continueOnError) {
                    throw new RuntimeException("Failed to create user: " + user.getUsername(), e);
                }
            }
            results.add(result);
        }

        Map<String, Object> summary = new HashMap<>();
        summary.put("total", users.size());
        summary.put("success", successCount);
        summary.put("failed", failureCount);
        summary.put("results", results);

        Message message = getMessageForResponse(exchange);
        message.setBody(summary);
    }
Pair #3988 Negative (Non-Clone)
ID: 306_370
ClassID: 306
File: systems/camel-java/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/KafkaSpanDecorator.java
Name: org.apache.camel.tracing.decorators.KafkaSpanDecorator.pre(SpanAdapter span, Exchange exchange, Endpoint endpoint)
    public void pre(SpanAdapter span, Exchange exchange, Endpoint endpoint) {
        super.pre(span, exchange, endpoint);

        String partition = getValue(exchange, PARTITION, Integer.class);
        if (partition != null) {
            span.setTag(KAFKA_PARTITION_TAG, partition);
        }

        String partitionKey = exchange.getIn().getHeader(PARTITION_KEY, String.class);
        if (partitionKey != null) {
            span.setTag(KAFKA_PARTITION_KEY_TAG, partitionKey);
        }

        String key = exchange.getIn().getHeader(KEY, String.class);
        if (key != null) {
            span.setTag(KAFKA_KEY_TAG, key);
        }

        String offset = getValue(exchange, OFFSET, String.class);
        if (offset != null) {
            span.setTag(KAFKA_OFFSET_TAG, offset);
        }
    }
ID: 2599_2217
ClassID: 2599
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getString(final String key)
    public String getString(final String key) {
        Object returnable = this.get(key);
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #3989 Negative (Non-Clone)
ID: 909_788
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.callFunction(CloudFunctionsServiceClient client, Exchange exchange)
    private void callFunction(CloudFunctionsServiceClient client, Exchange exchange) throws InvalidPayloadException {
        CallFunctionResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            CallFunctionRequest request = exchange.getIn().getMandatoryBody(CallFunctionRequest.class);
            response = client.callFunction(request);
        } else {
            String data = exchange.getIn().getBody(String.class);
            CloudFunctionName cfName = CloudFunctionName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation(), getConfiguration().getFunctionName());
            CallFunctionRequest request = CallFunctionRequest.newBuilder().setName(cfName.toString()).setData(data)
                    .build();
            response = client.callFunction(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getResult());
    }
ID: 2508_2059
ClassID: 2508
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.fields(ClassInfo ci)
    protected Set<FieldInfo> fields(ClassInfo ci) {
        Set<FieldInfo> fields = new TreeSet<>(Comparator.comparing(FieldInfo::name));

        ClassInfo current = ci;
        while (current != null) {
            fields.addAll(current.fields());

            DotName superName = current.superName();
            if (superName == null) {
                break;
            }

            current = view.getClassByName(superName);
        }

        return fields;
    }
Pair #3990 Negative (Non-Clone)
ID: 618_558
ClassID: 618
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
Name: org.apache.camel.component.file.remote.RemoteFileEndpoint.createPollingConsumer()
    public PollingConsumer createPollingConsumer() throws Exception {
        if (maxMessagesPerPoll > 1) {
            throw new IllegalArgumentException(
                    "The option maxMessagesPerPoll is not supported for polling consumer (such as when using poll or pollEnrich EIP)");
        }

        if (LOG.isDebugEnabled()) {
            LOG.debug("Creating GenericFilePollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(),
                    getPollingConsumerBlockTimeout());
        }
        GenericFilePollingConsumer result = new GenericFilePollingConsumer(this);
         
         
        result.setBlockWhenFull(isPollingConsumerBlockWhenFull());
        result.setBlockTimeout(getPollingConsumerBlockTimeout());

        return result;
    }
ID: 2469_1989
ClassID: 2469
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReloadAction.java
Name: org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction.doCall()
    public Integer doCall() throws Exception {
        List<Long> pids = findPids(name);
        for (long pid : pids) {
            JsonObject root = new JsonObject();
            root.put("action", "reload");
            Path f = getActionFile(Long.toString(pid));
            Files.writeString(f, root.toJson());
        }

        return 0;
    }
Pair #3991 Negative (Non-Clone)
ID: 2585_2186
ClassID: 2585
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangDocMojo.java
Name: org.apache.camel.maven.packaging.PrepareCamelJBangDocMojo.evaluateTemplate(final String templateName, final JBangModel model)
    private static String evaluateTemplate(final String templateName, final JBangModel model) throws MojoExecutionException {
        StringBuilder sb = new StringBuilder(256);

        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
            String template = PackageHelper.loadText(templateStream);
             
            for (JBangModel.JBangGroupModel group : model.getGroups()) {
                Map<String, Object> root = new HashMap<>();
                root.put("group", group);
                root.put("options", model.getOptions().stream()
                        .filter(o -> o.getName().startsWith(group.getName()))
                        .toList());
                String eval
                        = (String) TemplateRuntime.eval(template, root, Collections.singletonMap("util", MvelHelper.INSTANCE));
                sb.append(eval);
                sb.append("\n");
            }
        } catch (IOException e) {
            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
        }

        return sb.toString();
    }
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
Pair #3992 Negative (Non-Clone)
ID: 2435_1905
ClassID: 2435
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
Name: org.apache.camel.dsl.jbang.core.common.CatalogLoader.resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
    public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download)
            throws Exception {
        DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader());
        MavenDependencyDownloader downloader = new MavenDependencyDownloader();
        downloader.setRepositories(repos);
        downloader.setClassLoader(cl);
        downloader.setDownload(download);
        try {
            downloader.start();

            List<MavenArtifact> artifacts
                    = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-catalog-provider-springboot",
                            camelSpringBootVersion, true);
            for (MavenArtifact ma : artifacts) {
                String g = ma.getGav().getGroupId();
                String a = ma.getGav().getArtifactId();
                if ("org.apache.camel".equals(g) && "camel-catalog".equals(a)) {
                    return ma.getGav().getVersion();
                }
            }
        } finally {
            downloader.stop();
            downloader.close();
        }

        return null;
    }
ID: 1250_1086
ClassID: 1250
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultReactiveExecutor.java
Name: org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue()
        boolean executeFromQueue() {
            final Runnable polled = queue != null ? queue.pollFirst() : null;
            if (polled == null) {
                return false;
            }
            try {
                decrementPendingTasks();
                if (LOG.isTraceEnabled()) {
                    LOG.trace("Running: {}", polled);
                }
                polled.run();
            } catch (Exception t) {
                 
                LOG.warn("Error executing reactive work due to {}. This exception is ignored.", t.getMessage(), t);
            }
            return true;
        }
Pair #3993 Negative (Non-Clone)
ID: 1248_1080
ClassID: 1248
File: systems/camel-java/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
Name: org.apache.camel.language.xpath.XPathBuilder.createPropertiesFunction()
    private XPathFunction createPropertiesFunction() {
        return new XPathFunction() {
            @SuppressWarnings("rawtypes")
            public Object evaluate(List list) throws XPathFunctionException {
                if (!list.isEmpty()) {
                    Object value = list.get(0);
                    if (value != null) {
                        String propertyText = exchange.get().getContext().getTypeConverter().convertTo(String.class, value);
                        try {
                             
                             
                            return exchange.get().getContext().resolvePropertyPlaceholders("{{" + propertyText + "}}");
                        } catch (Exception e) {
                            throw new XPathFunctionException(e);
                        }
                    }
                }
                return null;
            }
        };
    }
ID: 1404_1253
ClassID: 1404
File: systems/camel-java/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
Name: org.apache.camel.component.smpp.SmppSubmitMultiCommand.setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message)
    protected void setRegisterDeliveryReceiptFlag(SubmitMulti[] submitMulties, Message message) {
        byte specifiedDeliveryFlag = getRegisterDeliveryFlag(message);
        byte flag;
        if (getRequestsSingleDLR(message)) {
             
            flag = SMSCDeliveryReceipt.DEFAULT.value();
        } else {
            flag = specifiedDeliveryFlag;
        }

        for (int i = 0; i < submitMulties.length - 1; i++) {
            submitMulties[i].setRegisteredDelivery(flag);
        }
        submitMulties[submitMulties.length - 1].setRegisteredDelivery(specifiedDeliveryFlag);
    }
Pair #3994 Negative (Non-Clone)
ID: 348_400
ClassID: 348
File: systems/camel-java/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/releases/helsinki/HelsinkiServiceNowTableProcessor.java
Name: org.apache.camel.component.servicenow.releases.helsinki.HelsinkiServiceNowTableProcessor.updateRecord(Exchange exchange)
    private void updateRecord(Exchange exchange) throws Exception {
        final Message in = exchange.getIn();
        final String tableName = getTableName(in);
        final String apiVersion = getApiVersion(in);
        final Class<?> requestModel = getRequestModel(in, tableName);
        final Class<?> responseModel = getResponseModel(in, tableName);
        final String sysId = getSysID(in);

        validateBody(in, requestModel);

        Response response = client.reset()
                .types(MediaType.APPLICATION_JSON_TYPE)
                .path("now")
                .path(apiVersion)
                .path("table")
                .path(tableName)
                .path(ObjectHelper.notNull(sysId, "sysId"))
                .query(ServiceNowParams.SYSPARM_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_EXCLUDE_REFERENCE_LINK, in)
                .query(ServiceNowParams.SYSPARM_FIELDS, in)
                .query(ServiceNowParams.SYSPARM_INPUT_DISPLAY_VALUE, in)
                .query(ServiceNowParams.SYSPARM_SUPPRESS_AUTO_SYS_FIELD, in)
                .query(ServiceNowParams.SYSPARM_VIEW, in)
                .query(responseModel)
                .invoke("PATCH", in.getMandatoryBody());

        setBodyAndHeaders(exchange.getIn(), responseModel, response);
    }
ID: 1218_1051
ClassID: 1218
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.handleSubscriptions(Exchange exchange, String method)
    private Object handleSubscriptions(Exchange exchange, String method) throws Exception {
        switch (method) {
            case StripeConstants.METHOD_CREATE:
                return Subscription.create(getParametersFromBody(exchange));
            case StripeConstants.METHOD_RETRIEVE:
                String id = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                return Subscription.retrieve(id);
            case StripeConstants.METHOD_UPDATE:
                String subId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription subscription = Subscription.retrieve(subId);
                return subscription.update(getParametersFromBody(exchange));
            case StripeConstants.METHOD_CANCEL:
                String cancelId = exchange.getIn().getHeader(StripeConstants.OBJECT_ID, String.class);
                Subscription cancelSub = Subscription.retrieve(cancelId);
                return cancelSub.cancel();
            case StripeConstants.METHOD_LIST:
                return Subscription.list(getParametersFromBody(exchange));
            default:
                throw new IllegalArgumentException("Unsupported method for subscriptions: " + method);
        }
    }
Pair #3995 Negative (Non-Clone)
ID: 3265_2627
ClassID: 3265
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java
Name: org.apache.camel.support.cache.SimpleSoftCache.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
        if (key == null || remappingFunction == null) {
            throw new NullPointerException();
        }
        for (;;) {
            SoftReference<V> ref = delegate.get(key);
            V oldValue = ref == null ? null : ref.get();
            V newValue = remappingFunction.apply(key, oldValue);
            if (newValue == null) {
                 
                if (ref != null && !delegate.remove(key, ref)) {
                     
                    continue;
                }
            } else if (ref == null) {
                if (delegate.putIfAbsent(key, new SoftReference<>(newValue)) != null) {
                     
                    continue;
                }
            } else if (!delegate.replace(key, ref, new SoftReference<>(newValue))) {
                 
                continue;
            }
            return newValue;
        }
    }
ID: 901_775
ClassID: 901
File: systems/camel-java/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
Name: org.apache.camel.component.as2.internal.AS2ApiCollection.getEndpointConfiguration(AS2ApiName apiName)
    public AS2Configuration getEndpointConfiguration(AS2ApiName apiName) {
        AS2Configuration result = null;
        switch (apiName) {
            case CLIENT:
                result = new AS2ClientManagerEndpointConfiguration();
                break;
            case SERVER:
                result = new AS2ServerManagerEndpointConfiguration();
                break;
            case RECEIPT:
                result = new AS2AsyncMDNServerManagerEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #3996 Negative (Non-Clone)
ID: 486_515
ClassID: 486
File: systems/camel-java/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfConverter.java
Name: org.apache.camel.component.cxf.jaxrs.CxfConverter.toArray(Object object)
    public static Object[] toArray(Object object) {
        if (object instanceof Collection) {
            return ((Collection<?>) object).toArray();
        } else {
            Object[] answer;
            if (object == null) {
                answer = new Object[0];
            } else {
                answer = new Object[1];
                answer[0] = object;
            }
            return answer;
        }
    }
ID: 1217_1043
ClassID: 1217
File: systems/camel-java/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprWorkflowHandler.java
Name: org.apache.camel.component.dapr.operations.DaprWorkflowHandler.handle(Exchange exchange)
    public DaprOperationResponse handle(Exchange exchange) {
        WorkflowOperation workflowOperation = configurationOptionsProxy.getWorkflowOperation(exchange);
        DaprWorkflowClient client = endpoint.getWorkflowClient();

        switch (workflowOperation) {
            case scheduleNew:
                return scheduleNewWorkflow(exchange, client);
            case terminate:
                return terminateWorkflow(exchange, client);
            case purge:
                return purgeWorkflow(exchange, client);
            case suspend:
                return suspendWorkflow(exchange, client);
            case resume:
                return resumeWorkflow(exchange, client);
            case state:
                return getWorkflowState(exchange, client);
            case waitForInstanceStart:
                return waitForInstanceStart(exchange, client);
            case waitForInstanceCompletion:
                return waitForInstanceCompletion(exchange, client);
            case raiseEvent:
                return raiseEvent(exchange, client);
            default:
                throw new IllegalArgumentException("Unsupported workflow operation");
        }
    }
Pair #3997 Negative (Non-Clone)
ID: 744_673
ClassID: 744
File: systems/camel-java/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/consumer/AbstractWordpressConsumer.java
Name: org.apache.camel.component.wordpress.consumer.AbstractWordpressConsumer.process(final Object result)
    protected final void process(final Object result) {
        Exchange exchange = createExchange(false);
        try {
            exchange.getIn().setBody(result);
            getProcessor().process(exchange);
        } catch (Exception e) {
            exchange.setException(e);
        }
        if (exchange.getException() != null) {
            getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
        }
        releaseExchange(exchange, false);
    }
ID: 1875_1548
ClassID: 1875
File: systems/camel-java/components/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/KnativeResource.java
Name: org.apache.camel.component.knative.spi.KnativeResource.getType()
    public Knative.Type getType() {
        Knative.Type answer = this.type;
        if (answer == null) {
            String stringValue = getMetadata(Knative.KNATIVE_TYPE);
            if (stringValue != null) {
                answer = Knative.Type.valueOf(stringValue);
            }
        }

        return answer;
    }
Pair #3998 Negative (Non-Clone)
ID: 897_752
ClassID: 897
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
Name: org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

            getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
        }
        return total;
    }
ID: 175_148
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> headers, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                QueryJob responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
Pair #3999 Negative (Non-Clone)
ID: 1724_1445
ClassID: 1724
File: systems/camel-java/components/camel-vertx/camel-vertx-common/src/main/java/org/apache/camel/component/vertx/common/VertxHelper.java
Name: org.apache.camel.component.vertx.common.VertxHelper.createKeyManagerFactory(CamelContext camelContext, SSLContextParameters sslContextParameters)
    private static KeyManagerFactory createKeyManagerFactory(
            CamelContext camelContext, SSLContextParameters sslContextParameters)
            throws Exception {
        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
        if (keyManagers == null) {
            return null;
        }
        keyManagers.setCamelContext(camelContext);
        if (keyManagers.getKeyStore() != null) {
            keyManagers.getKeyStore().setCamelContext(camelContext);
        }

        String kmfAlgorithm = camelContext.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
        if (kmfAlgorithm == null) {
            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
        }

        KeyManagerFactory kmf;
        if (keyManagers.getProvider() == null) {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
        } else {
            kmf = KeyManagerFactory.getInstance(kmfAlgorithm,
                    camelContext.resolvePropertyPlaceholders(keyManagers.getProvider()));
        }

        char[] kmfPassword = null;
        if (keyManagers.getKeyPassword() != null) {
            kmfPassword = camelContext.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
        }

        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();

        kmf.init(ks, kmfPassword);
        return kmf;
    }
ID: 2505_2054
ClassID: 2505
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/support/IndexerSupport.java
Name: org.apache.camel.maven.dsl.yaml.support.IndexerSupport.methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter)
    public static List<MethodInfo> methods(IndexView view, ClassInfo type, Predicate<MethodInfo> filter) {
        List<MethodInfo> answer = new ArrayList<>();

        for (ClassInfo current = type; current != null;) {
            for (MethodInfo methodInfo : current.methods()) {
                if (filter.test(methodInfo)) {
                    answer.add(methodInfo);
                }
            }

            Type superType = current.superClassType();
            if (superType == null) {
                break;
            }

            current = view.getClassByName(superType.name());
        }

        return answer;
    }
Pair #4000 Negative (Non-Clone)
ID: 893_744
ClassID: 893
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbEndpoint.getClient()
    public Pinecone getClient() {
        lock.lock();
        try {
            if (this.client == null) {
                this.client = this.configuration.getClient();
                if (this.client == null) {
                    this.client = createClient();
                }
            }
            return this.client;
        } finally {
            lock.unlock();
        }
    }
ID: 2228_1743
ClassID: 2228
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/consumer/GitBranchConsumer.java
Name: org.apache.camel.component.git.consumer.GitBranchConsumer.poll()
    protected int poll() throws Exception {
        Queue<Object> exchanges = new ArrayDeque<>();
        List<Ref> call = getGit().branchList().setListMode(ListMode.ALL).call();
        for (Ref ref : call) {
            if (!branchesConsumed.contains(ref.getName())) {
                Exchange e = createExchange(true);
                e.getMessage().setBody(ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_NAME, ref.getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_LEAF, ref.getLeaf().getName());
                e.getMessage().setHeader(GitConstants.GIT_BRANCH_OBJECT_ID, ref.getObjectId().getName());
                exchanges.add(e);
            }
        }
        return processBatch(exchanges);
    }
Pair #4001 Negative (Non-Clone)
ID: 1871_1541
ClassID: 1871
File: systems/camel-java/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/CloudEventProcessors.java
Name: org.apache.camel.component.knative.ce.CloudEventProcessors.decodeStructuredContent(Exchange exchange, Map<String, Object> content)
        protected void decodeStructuredContent(Exchange exchange, Map<String, Object> content) {
            final CloudEvent ce = cloudEvent();
            final Message message = exchange.getIn();

             
            ifNotEmpty(content.remove("data"), message::setBody);

            ifNotEmpty(content.remove(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json()), val -> {
                message.setHeader(Exchange.CONTENT_TYPE, val);
            });

            for (CloudEvent.Attribute attribute : ce.attributes()) {
                ifNotEmpty(content.remove(attribute.json()), val -> {
                    message.setHeader(attribute.id(), val);
                });
            }

             
             
             
            content.forEach((key, val) -> {
                message.setHeader(key.toLowerCase(Locale.US), val);
            });
        }
ID: 179_164
ClassID: 179
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback)
    public void deleteQueryJob(String jobId, Map<String, List<String>> headers, ResponseCallback callback) {
        final Request request = getRequest(HttpMethod.DELETE, queryJobUrl(jobId), headers);
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                callback.onResponse(headers, ex);
            }
        });
    }
Pair #4002 Negative (Non-Clone)
ID: 765_688
ClassID: 765
File: systems/camel-java/components/camel-google/camel-google-vertexai/src/main/java/org/apache/camel/component/google/vertexai/GoogleVertexAIProducer.java
Name: org.apache.camel.component.google.vertexai.GoogleVertexAIProducer.getPrompt(Exchange exchange)
    private String getPrompt(Exchange exchange) {
        String prompt = exchange.getIn().getHeader(GoogleVertexAIConstants.PROMPT, String.class);
        if (prompt == null) {
            prompt = exchange.getIn().getBody(String.class);
        }
        if (prompt == null) {
            throw new IllegalArgumentException("Prompt must be provided in body or header");
        }
        return prompt;
    }
ID: 2232_1754
ClassID: 2232
File: systems/camel-java/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
Name: org.apache.camel.component.git.producer.GitProducer.doRemoteList(Exchange exchange, String operation)
    protected void doRemoteList(Exchange exchange, String operation) throws GitAPIException {
        List<RemoteConfig> result = null;

        try {
            result = git.remoteList().call();
        } catch (GitAPIException e) {
            LOG.error("There was an error in Git {} operation", operation);
            throw e;
        }
        updateExchange(exchange, result);
    }
Pair #4003 Negative (Non-Clone)
ID: 3213_2490
ClassID: 3213
File: systems/camel-java/core/camel-health/src/main/java/org/apache/camel/impl/health/DefaultHealthChecksLoader.java
Name: org.apache.camel.impl.health.DefaultHealthChecksLoader.loadHealthChecks()
    public Collection<HealthCheck> loadHealthChecks() {
        Collection<HealthCheck> answer = new ArrayList<>();

        LOG.trace("Searching for {} health checks", META_INF_SERVICES);

        try {
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*-check");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} health checks from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading HealthCheck: {}", id);
                    HealthCheck hc = healthCheckResolver.resolveHealthCheck(id);
                    if (hc != null) {
                        LOG.debug("Loaded HealthCheck: {}/{}", hc.getGroup(), hc.getId());
                        answer.add(hc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom health-checks on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 1691_1416
ClassID: 1691
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/CamelBeanPostProcessor.java
Name: org.apache.camel.spring.spi.CamelBeanPostProcessor.getPostProcessorHelper()
        public CamelPostProcessorHelper getPostProcessorHelper() {
             
            if (camelPostProcessorHelper == null) {
                camelPostProcessorHelper = new CamelPostProcessorHelper(camelContext) {

                    @Override
                    public CamelContext getCamelContext() {
                        CamelContext answer = CamelBeanPostProcessor.this.camelContext;
                        if (answer == null) {
                             
                             
                             
                             
                            answer = delegate.getOrLookupCamelContext();
                        }
                        return answer;
                    }

                    @Override
                    protected RuntimeException createProxyInstantiationRuntimeException(
                            Class<?> type, Endpoint endpoint, Exception e) {
                        return new BeanInstantiationException(
                                type, "Could not instantiate proxy of type " + type.getName() + " on endpoint " + endpoint, e);
                    }

                    @Override
                    protected boolean isSingleton(Object bean, String beanName) {
                         
                         
                        if (applicationContext == null || beanName == null) {
                            return super.isSingleton(bean, beanName);
                        } else {
                            return applicationContext.isSingleton(beanName);
                        }
                    }

                    @Override
                    protected void startService(Service service, CamelContext context, Object bean, String beanName)
                            throws Exception {
                        if (isSingleton(bean, beanName)) {
                            getCamelContext().addService(service);
                        } else {
                             
                            ServiceHelper.startService(service);
                            if (prototypeBeans.add(beanName)) {
                                 
                                CamelBeanPostProcessor.LOG
                                        .warn("The bean with id [{}] is prototype scoped and cannot stop the injected "
                                              + " service when bean is destroyed: {}. You may want to stop the service "
                                              + "manually from the bean.", beanName, service);
                            }
                        }
                    }
                };
            }
            return camelPostProcessorHelper;
        }
Pair #4004 Negative (Non-Clone)
ID: 2659_2334
ClassID: 2659
File: systems/camel-java/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
Name: org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(final Exchange exchange, final AsyncCallback callback)
    public boolean process(final Exchange exchange, final AsyncCallback callback) {
        try {
             
            Runnable task = taskFactory.acquire(exchange, callback);

             
            if (exchange.isTransacted()) {
                reactiveExecutor.scheduleQueue(task);
            } else {
                reactiveExecutor.scheduleMain(task);
            }
            return false;
        } catch (Exception e) {
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 1187_1015
ClassID: 1187
File: systems/camel-java/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1MessageIterator.java
Name: org.apache.camel.dataformat.asn1.ASN1MessageIterator.hasNext()
    public boolean hasNext() {
        try {
            if (asn1InputStream == null) {
                return false;
            }
            boolean availableDataInCurrentEntry = asn1InputStream.available() > 0;
            if (!availableDataInCurrentEntry) {
                 
                parent = getNextElement();
                if (parent == null) {
                    asn1InputStream.close();
                    availableDataInCurrentEntry = false;
                } else {
                    availableDataInCurrentEntry = true;
                }
            }
            return availableDataInCurrentEntry;
        } catch (IOException exception) {
            throw new RuntimeCamelException(exception);
        }
    }
Pair #4005 Negative (Non-Clone)
ID: 384_429
ClassID: 384
File: systems/camel-java/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
Name: org.apache.camel.component.sjms.SjmsProducer.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
         
        if (!isRunAllowed()) {
            if (exchange.getException() == null) {
                exchange.setException(new RejectedExecutionException());
            }
             
            callback.done(true);
            return true;
        }

        try {
            if (!endpoint.isDisableReplyTo() && exchange.getPattern().isOutCapable()) {
                 
                return processInOut(exchange, callback);
            } else {
                 
                return processInOnly(exchange, callback);
            }
        } catch (Exception e) {
             
             
            exchange.setException(e);
            callback.done(true);
            return true;
        }
    }
ID: 3247_2586
ClassID: 3247
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelContextFactoryBean.setupEventNotifierStrategies()
    private void setupEventNotifierStrategies() {
        Map<String, EventNotifier> eventNotifiers = getContext().getRegistry().findByTypeWithName(EventNotifier.class);
        if (eventNotifiers != null && !eventNotifiers.isEmpty()) {
            for (Entry<String, EventNotifier> entry : eventNotifiers.entrySet()) {
                EventNotifier notifier = entry.getValue();
                 
                if (!getContext().getManagementStrategy().getEventNotifiers().contains(notifier)) {
                    LOG.info("Using custom EventNotifier with id: {} and implementation: {}", entry.getKey(), notifier);
                    getContext().getManagementStrategy().addEventNotifier(notifier);
                }
            }
        }
    }
Pair #4006 Negative (Non-Clone)
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
ID: 284_352
ClassID: 284
File: systems/camel-java/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
Name: org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object payload = exchange.getMessage().getBody();
        if (payload == null) {
            return;
        }

        ProtobufSchema answer = computeIfAbsent(exchange);

        if (answer != null) {
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA, answer);
            exchange.setProperty(SchemaHelper.CONTENT_SCHEMA_TYPE, SchemaType.PROTOBUF.type());
            exchange.setProperty(SchemaHelper.CONTENT_CLASS, SchemaHelper.resolveContentClass(exchange, this.contentClass));
        }
    }
Pair #4007 Negative (Non-Clone)
ID: 898_761
ClassID: 898
File: systems/camel-java/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
Name: org.apache.camel.component.google.calendar.GoogleCalendarComponent.getClient(GoogleCalendarConfiguration config)
    public Calendar getClient(GoogleCalendarConfiguration config) {
        if (client == null) {
            if (config.getClientId() != null && !config.getClientId().isBlank()
                    && config.getClientSecret() != null && !config.getClientSecret().isBlank()) {
                client = getClientFactory().makeClient(config.getClientId(), config.getClientSecret(), config.getScopesAsList(),
                        config.getApplicationName(), config.getRefreshToken(),
                        config.getAccessToken(), config.getEmailAddress(), config.getP12FileName(), config.getUser());
            } else if (config.getServiceAccountKey() != null && !config.getServiceAccountKey().isBlank()) {
                client = getClientFactory().makeClient(getCamelContext(), config.getServiceAccountKey(),
                        config.getScopesAsList(),
                        config.getApplicationName(), config.getDelegate());
            } else {
                throw new IllegalArgumentException(
                        "(clientId and clientSecret) or serviceAccountKey are required to create Google Calendar client");
            }
        }
        return client;
    }
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #4008 Negative (Non-Clone)
ID: 1171_1002
ClassID: 1171
File: systems/camel-java/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
Name: org.apache.camel.coap.CoAPComponent.doGetHost(RestConfiguration config)
    private static String doGetHost(RestConfiguration config) throws UnknownHostException {
        String host = config.getHost();
        if (ObjectHelper.isEmpty(host)) {
            if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.allLocalIp) {
                host = "0.0.0.0";
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
                host = HostUtils.getLocalHostName();
            } else if (config.getHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
                host = HostUtils.getLocalIp();
            }
        }
        return host;
    }
ID: 1066_922
ClassID: 1066
File: systems/camel-java/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
Name: org.apache.camel.component.jdbc.JdbcProducer.doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn)
    private boolean doCreateAndExecuteSqlStatementWithHeaders(Exchange exchange, String sql, Connection conn) throws Exception {
        PreparedStatement ps = null;
        ResultSet rs = null;
        boolean shouldCloseResources = true;

        try {
            final String preparedQuery
                    = getEndpoint().getPrepareStatementStrategy().prepareQuery(sql, getEndpoint().isAllowNamedParameters());

            boolean shouldRetrieveGeneratedKeys
                    = exchange.getIn().getHeader(JdbcConstants.JDBC_RETRIEVE_GENERATED_KEYS, false, Boolean.class);

            if (shouldRetrieveGeneratedKeys) {
                Object expectedGeneratedColumns = exchange.getIn().getHeader(JdbcConstants.JDBC_GENERATED_COLUMNS);
                if (expectedGeneratedColumns == null) {
                    ps = conn.prepareStatement(preparedQuery, Statement.RETURN_GENERATED_KEYS);
                } else if (expectedGeneratedColumns instanceof String[]) {
                    ps = conn.prepareStatement(preparedQuery, (String[]) expectedGeneratedColumns);
                } else if (expectedGeneratedColumns instanceof int[]) {
                    ps = conn.prepareStatement(preparedQuery, (int[]) expectedGeneratedColumns);
                } else {
                    throw new IllegalArgumentException(
                            "Header specifying expected returning columns isn't an instance of String[] or int[] but "
                                                       + expectedGeneratedColumns.getClass());
                }
            } else {
                ps = conn.prepareStatement(preparedQuery);
            }

            bindParameters(exchange, ps);

            int expectedCount = ps.getParameterMetaData().getParameterCount();

            if (expectedCount > 0) {
                Iterator<?> it = getEndpoint().getPrepareStatementStrategy()
                        .createPopulateIterator(sql, preparedQuery, expectedCount, exchange, exchange.getIn().getBody());
                getEndpoint().getPrepareStatementStrategy().populateStatement(ps, it, expectedCount);
            }

            LOG.debug("Executing JDBC PreparedStatement: {}", sql);

            boolean stmtExecutionResult = ps.execute();
            if (stmtExecutionResult) {
                rs = ps.getResultSet();
                shouldCloseResources = setResultSet(exchange, conn, rs);
            } else {
                int updateCount = ps.getUpdateCount();
                 
                exchange.getMessage().setHeader(JdbcConstants.JDBC_UPDATE_COUNT, updateCount);
            }

            if (shouldRetrieveGeneratedKeys) {
                setGeneratedKeys(exchange, conn, ps.getGeneratedKeys());
            }
        } finally {
            if (shouldCloseResources) {
                closeQuietly(rs);
                closeQuietly(ps);
            } else {
                final Statement finalPs = ps;
                final ResultSet finalRs = rs;
                exchange.getExchangeExtension().addOnCompletion(new SynchronizationAdapter() {
                    @Override
                    public void onDone(Exchange exchange) {
                        closeQuietly(finalRs);
                        closeQuietly(finalPs);
                    }

                    @Override
                    public int getOrder() {
                         
                        return LOWEST + 100;
                    }
                });
            }
        }
        return shouldCloseResources;
    }
Pair #4009 Negative (Non-Clone)
ID: 3227_2519
ClassID: 3227
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/ast/LogicalExpression.java
Name: org.apache.camel.language.simple.ast.LogicalExpression.createAndExpression(final Expression leftExp, final Expression rightExp)
    private Expression createAndExpression(final Expression leftExp, final Expression rightExp) {
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                Predicate predicate = ExpressionToPredicateAdapter.toPredicate(leftExp);
                predicate = PredicateBuilder.and(predicate, ExpressionToPredicateAdapter.toPredicate(rightExp));

                boolean answer = predicate.matches(exchange);
                return exchange.getContext().getTypeConverter().convertTo(type, answer);
            }

            @Override
            public String toString() {
                return left + " " + token.getText() + " " + right;
            }
        };
    }
ID: 1982_1622
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/InputLengthGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.InputLengthGuardrail.InputLengthGuardrail(int maxChars, int minChars)
    public InputLengthGuardrail(int maxChars, int minChars) {
        if (maxChars <= 0) {
            throw new IllegalArgumentException("maxChars must be positive");
        }
        if (minChars < 0) {
            throw new IllegalArgumentException("minChars cannot be negative");
        }
        if (minChars > maxChars) {
            throw new IllegalArgumentException("minChars cannot exceed maxChars");
        }
        this.maxChars = maxChars;
        this.minChars = minChars;
    }
Pair #4010 Negative (Non-Clone)
ID: 13_10
ClassID: 13
File: systems/camel-java/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheProducer.java
Name: org.apache.camel.component.ehcache.EhcacheProducer.setResult(Message message, boolean success, Object result, Object oldValue)
    private void setResult(Message message, boolean success, Object result, Object oldValue) {
        message.setHeader(EhcacheConstants.ACTION_SUCCEEDED, success);
        message.setHeader(EhcacheConstants.ACTION_HAS_RESULT, oldValue != null || result != null);

        if (oldValue != null) {
            message.setHeader(EhcacheConstants.OLD_VALUE, oldValue);
        }
        if (result != null) {
            message.setBody(result);
        }
    }
ID: 188_194
ClassID: 188
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiV2Processor.java
Name: org.apache.camel.component.salesforce.internal.processor.BulkApiV2Processor.processCreateQueryJob(Exchange exchange, AsyncCallback callback)
    private void processCreateQueryJob(Exchange exchange, AsyncCallback callback)
            throws InvalidPayloadException {
        QueryJob job = exchange.getIn().getMandatoryBody(QueryJob.class);
        bulkClient.createQueryJob(job, determineHeaders(exchange),
                new BulkApiV2Client.QueryJobResponseCallback() {
                    @Override
                    public void onResponse(
                            QueryJob job, Map<String, String> headers, SalesforceException ex) {
                        processResponse(exchange, job, headers, ex, callback);
                    }
                });
    }
Pair #4011 Negative (Non-Clone)
ID: 178_161
ClassID: 178
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.changeJobState(String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback)
    public void changeJobState(
            String jobId, JobStateEnum state, Map<String, List<String>> headers, JobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.PATCH, jobUrl(jobId), headers);
        Job job = new Job();
        job.setId(jobId);
        job.setState(state);
        try {
            marshalRequest(job, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequest(request, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, headers, ex);
                }
                Job responseJob = null;
                try {
                    responseJob = unmarshalResponse(response, request, Job.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(responseJob, headers, ex);
            }
        });
    }
ID: 1977_1617
ClassID: 1977
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
Name: org.apache.camel.component.djl.model.nlp.CustomQuestionAnswerPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        Object body = exchange.getIn().getBody();
        String result;
        if (body instanceof QAInput) {
            QAInput input = exchange.getIn().getBody(QAInput.class);
            result = predict(exchange, input);
        } else if (body instanceof String[]) {
            String[] strs = exchange.getIn().getBody(String[].class);
            if (strs.length < 2) {
                throw new RuntimeCamelException("Input String[] should have two elements");
            }
            QAInput input = new QAInput(strs[0], strs[1]);
            result = predict(exchange, input);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be String[] or QAInput");
        }
        exchange.getIn().setBody(result);
    }
Pair #4012 Negative (Non-Clone)
ID: 701_646
ClassID: 701
File: systems/camel-java/components/camel-jte/src/main/java/org/apache/camel/component/jte/JteComponent.java
Name: org.apache.camel.component.jte.JteComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        JteEndpoint endpoint = new JteEndpoint(uri, this, remaining);
        endpoint.setAllowTemplateFromHeader(allowTemplateFromHeader);
        endpoint.setAllowContextMapAll(allowContextMapAll);
        endpoint.setContentCache(contentCache);

        setProperties(endpoint, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            endpoint.setResourceUri(remaining);
        }

        return endpoint;
    }
ID: 1310_1182
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
Name: org.apache.camel.component.kubernetes.pods.KubernetesPodsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        PodList podList;

        if (ObjectHelper.isEmpty(namespace)) {
            podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list();
        } else {
            podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, podList.getItems());
    }
Pair #4013 Negative (Non-Clone)
ID: 749_675
ClassID: 749
File: systems/camel-java/components/camel-oauth/src/main/java/org/apache/camel/oauth/OAuthClientCredentialsProcessor.java
Name: org.apache.camel.oauth.OAuthClientCredentialsProcessor.process(Exchange exchange)
    public void process(Exchange exchange) {
        var context = exchange.getContext();
        var msg = exchange.getMessage();

        logRequestHeaders(procName, msg);

         
         
        var oauth = findOAuth(context).orElseGet(() -> {
            var factory = OAuthFactory.lookupFactory(context);
            return factory.createOAuth();
        });

         
         
        var session = oauth.getOrCreateSession(exchange);

         
         
        if (session.getUserProfile().isPresent()) {
            var userProfile = session.removeUserProfile().orElseThrow();
            try {
                userProfile = authenticateExistingUserProfile(oauth, userProfile);
                session.putUserProfile(userProfile);
                return;
            } catch (OAuthException ex) {
                log.error("Failed to authenticate: {}", userProfile.subject(), ex);
            }
        }

         
         
        var clientId = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_ID);
        var clientSecret = getRequiredProperty(exchange.getContext(), CAMEL_OAUTH_CLIENT_SECRET);

        var userProfile = oauth.authenticate(new ClientCredentials()
                .setClientSecret(clientSecret)
                .setClientId(clientId));

        session.putUserProfile(userProfile);
        log.info("Authenticated {}", userProfile.subject());
        userProfile.logDetails();

         
         
        var accessToken = userProfile.accessToken().orElseThrow(() -> new OAuthException("No access_token"));
        msg.setHeader("Authorization", "Bearer " + accessToken);
    }
ID: 1985_1629
ClassID: 1985
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/AgentWithoutMemory.java
Name: org.apache.camel.component.langchain4j.agent.api.AgentWithoutMemory.chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider)
    public String chat(AiAgentBody<?> aiAgentBody, ToolProvider toolProvider) {
        AiAgentWithoutMemoryService agentService = createAiAgentService(toolProvider);

        String userMessage = aiAgentBody.getUserMessage();
        String systemMessage = aiAgentBody.getSystemMessage();
        Content content = aiAgentBody.getContent();

        if (content != null) {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, content, systemMessage)
                    : agentService.chat(userMessage, content);
        } else {
             
            return systemMessage != null
                    ? agentService.chat(userMessage, systemMessage)
                    : agentService.chat(userMessage);
        }
    }
Pair #4014 Negative (Non-Clone)
ID: 2287_1802
ClassID: 2287
File: systems/camel-java/components/camel-aws/camel-aws2-s3-vectors/src/main/java/org/apache/camel/component/aws2/s3vectors/AWS2S3VectorsProducer.java
Name: org.apache.camel.component.aws2.s3vectors.AWS2S3VectorsProducer.deleteVectorIndex(S3VectorsClient client, Exchange exchange)
    private void deleteVectorIndex(S3VectorsClient client, Exchange exchange) {
        Message message = exchange.getIn();
        String vectorBucketName = determineVectorBucketName(exchange);
        String vectorIndexName = determineVectorIndexName(exchange);

        DeleteIndexRequest request = DeleteIndexRequest.builder()
                .vectorBucketName(vectorBucketName)
                .indexName(vectorIndexName)
                .build();

        LOG.trace("Deleting vector index [{}] from bucket [{}]", vectorIndexName, vectorBucketName);
        DeleteIndexResponse response = client.deleteIndex(request);
        LOG.trace("Delete vector index response: {}", response);

        message.setBody(response);
    }
ID: 3230_2536
ClassID: 3230
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.fileParentExpression()
    public static Expression fileParentExpression() {
        return new ExpressionAdapter() {
            @Override
            public Object evaluate(Exchange exchange) {
                return exchange.getIn().getHeader("CamelFileParent", String.class);
            }

            @Override
            public String toString() {
                return "file:parent";
            }
        };
    }
Pair #4015 Negative (Non-Clone)
ID: 2566_2145
ClassID: 2566
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateMimeTypeHelper.java
Name: org.apache.camel.maven.packaging.UpdateMimeTypeHelper.updateMimeTypeHelper(File camelDir, Map<String, String> types)
    private boolean updateMimeTypeHelper(File camelDir, Map<String, String> types) throws Exception {
         
        File java = new File(camelDir, "src/main/java/org/apache/camel/util/MimeTypeHelper.java");
        String text = PackageHelper.loadText(java);
        String spaces4 = "    ";
        String spaces12 = "            ";

        StringJoiner sb = new StringJoiner("\n");
        for (var e : types.entrySet()) {
            sb.add(spaces12 + "case \"" + e.getKey() + "\" -> \"" + e.getValue() + "\";");
        }
        String changed = sb.toString();

        String existing = Strings.between(text, TYPES_START_TOKEN, TYPES_END_TOKEN);
        if (existing != null) {
             
            existing = existing.trim();
            changed = changed.trim();
            if (existing.equals(changed)) {
                return false;
            } else {
                String before = Strings.before(text, TYPES_START_TOKEN);
                String after = Strings.after(text, TYPES_END_TOKEN);
                text = before + TYPES_START_TOKEN + "\n" + spaces12 + changed + "\n" + spaces12 + TYPES_END_TOKEN + after;
                PackageHelper.writeText(java, text);
                return true;
            }
        }

        return false;
    }
ID: 126_117
ClassID: 126
File: systems/camel-java/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
Name: org.apache.camel.component.resilience4j.ResilienceReifier.loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer)
    private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) {
        BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext);
        optional.ifPresent(bean -> {
            if (configurer instanceof ExtendedPropertyConfigurerGetter) {
                ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer;
                Map<String, Object> types = getter.getAllOptions(bean);
                types.forEach((k, t) -> {
                    Object value = getter.getOptionValue(bean, k, true);
                    if (value != null) {
                        properties.put(k, value);
                    }
                });
            } else {
                 
                beanIntrospection.getProperties(bean, properties, null, false);
            }
        });
    }
Pair #4016 Negative (Non-Clone)
ID: 2572_2157
ClassID: 2572
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
Name: org.apache.camel.maven.packaging.AbstractGeneratorMojo.updateResource(BuildContext buildContext, Path out, String data)
    public static boolean updateResource(BuildContext buildContext, Path out, String data) {
        try {
            if (FileUtil.updateFile(out, data)) {
                refresh(buildContext, out);
                return true;
            }
        } catch (IOException e) {
            throw new IOError(e);
        }
        return false;
    }
ID: 464_492
ClassID: 464
File: systems/camel-java/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
Name: org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection.getEndpointConfiguration(GoogleCalendarApiName apiName)
    public GoogleCalendarConfiguration getEndpointConfiguration(GoogleCalendarApiName apiName) {
        GoogleCalendarConfiguration result = null;
        switch (apiName) {
            case ACL:
                result = new CalendarAclEndpointConfiguration();
                break;
            case LIST:
                result = new CalendarCalendarListEndpointConfiguration();
                break;
            case CALENDARS:
                result = new CalendarCalendarsEndpointConfiguration();
                break;
            case CHANNELS:
                result = new CalendarChannelsEndpointConfiguration();
                break;
            case COLORS:
                result = new CalendarColorsEndpointConfiguration();
                break;
            case FREEBUSY:
                result = new CalendarFreebusyEndpointConfiguration();
                break;
            case EVENTS:
                result = new CalendarEventsEndpointConfiguration();
                break;
            case SETTINGS:
                result = new CalendarSettingsEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #4017 Negative (Non-Clone)
ID: 1573_1386
ClassID: 1573
File: systems/camel-java/components/camel-mail/src/generated/java/org/apache/camel/component/mail/MailConvertersLoader.java
Name: org.apache.camel.component.mail.MailConvertersLoader.registerConverters(TypeConverterRegistry registry)
    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.io.InputStream.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toInputStream((jakarta.mail.Multipart) value, exchange);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Message.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Message) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
        addTypeConverter(registry, java.lang.String.class, jakarta.mail.Multipart.class, false,
            (type, exchange, value) -> {
                Object answer = org.apache.camel.component.mail.MailConverters.toString((jakarta.mail.Multipart) value);
                if (false && answer == null) {
                    answer = Void.class;
                }
                return answer;
            });
    }
ID: 103_74
ClassID: 103
File: systems/camel-java/components/camel-keycloak/src/main/java/org/apache/camel/component/keycloak/KeycloakProducer.java
Name: org.apache.camel.component.keycloak.KeycloakProducer.updateClient(Keycloak keycloakClient, Exchange exchange)
    private void updateClient(Keycloak keycloakClient, Exchange exchange) throws InvalidPayloadException {
        String realmName = exchange.getIn().getHeader(KeycloakConstants.REALM_NAME, String.class);
        if (ObjectHelper.isEmpty(realmName)) {
            throw new IllegalArgumentException(MISSING_REALM_NAME);
        }

        String clientUuid = exchange.getIn().getHeader(KeycloakConstants.CLIENT_UUID, String.class);
        if (ObjectHelper.isEmpty(clientUuid)) {
            throw new IllegalArgumentException(MISSING_CLIENT_UUID);
        }

        if (getConfiguration().isPojoRequest()) {
            Object payload = exchange.getIn().getMandatoryBody();
            if (payload instanceof ClientRepresentation) {
                keycloakClient.realm(realmName).clients().get(clientUuid).update((ClientRepresentation) payload);
                Message message = getMessageForResponse(exchange);
                message.setBody("Client updated successfully");
            }
        } else {
            throw new IllegalArgumentException("Update client requires POJO request with ClientRepresentation");
        }
    }
Pair #4018 Negative (Non-Clone)
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
ID: 1720_1438
ClassID: 1720
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchScrollRequestIterator.java
Name: org.apache.camel.component.es.ElasticsearchScrollRequestIterator.scrollSearch()
    private ScrollResponse<TDocument> scrollSearch() {
        ScrollResponse<TDocument> scrollResponse;
        try {
            ScrollRequest searchScrollRequest = new ScrollRequest.Builder()
                    .scroll(Time.of(b -> b.time(String.format("%sms", scrollKeepAliveMs))))
                    .scrollId(scrollId)
                    .build();

            scrollResponse = esClient.scroll(searchScrollRequest, documentClass);
            requestCount++;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        return scrollResponse;
    }
Pair #4019 Negative (Non-Clone)
ID: 177_160
ClassID: 177
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.createQueryJob(QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback)
    public void createQueryJob(
            QueryJob queryJob, Map<String, List<String>> headers, QueryJobResponseCallback callback) {
        final Request request = getRequest(HttpMethod.POST, queryJobUrl(null), headers);
        try {
            marshalRequest(queryJob, request);
        } catch (SalesforceException e) {
            callback.onResponse(null, Collections.emptyMap(), e);
            return;
        }
        doHttpRequestWithQueryJobResponse(callback, request);
    }
ID: 2613_2259
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.JaxbDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("prettyPrint", definition.getPrettyPrint());
        properties.put("objectFactory", definition.getObjectFactory());
        properties.put("ignoreJAXBElement", definition.getIgnoreJAXBElement());
        properties.put("mustBeJAXBElement", definition.getMustBeJAXBElement());
        properties.put("filterNonXmlChars", definition.getFilterNonXmlChars());
        properties.put("fragment", definition.getFragment());
        properties.put("contextPath", definition.getContextPath());
        properties.put("contextPathIsClassName", definition.getContextPathIsClassName());
        properties.put("partClass", definition.getPartClass());
        properties.put("partNamespace", definition.getPartNamespace());
        properties.put("encoding", definition.getEncoding());
        properties.put("namespacePrefix", asRef(definition.getNamespacePrefix()));
        properties.put("schema", definition.getSchema());
        properties.put("schemaSeverityLevel", definition.getSchemaSeverityLevel());
        properties.put("xmlStreamWriterWrapper", definition.getXmlStreamWriterWrapper());
        properties.put("schemaLocation", definition.getSchemaLocation());
        properties.put("noNamespaceSchemaLocation", definition.getNoNamespaceSchemaLocation());
        properties.put("jaxbProviderProperties", definition.getJaxbProviderProperties());
        properties.put("accessExternalSchemaProtocols", definition.getAccessExternalSchemaProtocols());
    }
Pair #4020 Negative (Non-Clone)
ID: 837_719
ClassID: 837
File: systems/camel-java/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
Name: org.apache.camel.component.paho.mqtt5.PahoMqtt5Endpoint.getServiceMetadata()
    public Map<String, String> getServiceMetadata() {
        Map<String, String> map = new HashMap<>();
        if (configuration.getClientId() != null) {
            map.put("clientId", configuration.getClientId());
        }
        if (configuration.getUserName() != null) {
            map.put("username", configuration.getUserName());
        }
        return map.isEmpty() ? null : map;
    }
ID: 701_644
ClassID: 701
File: systems/camel-java/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityComponent.java
Name: org.apache.camel.component.velocity.VelocityComponent.createEndpoint(String uri, String remaining, Map<String, Object> parameters)
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        boolean cache = getAndRemoveParameter(parameters, "contentCache", Boolean.class, contentCache);

        VelocityEndpoint answer = new VelocityEndpoint(uri, this, remaining);
        answer.setContentCache(cache);
        answer.setVelocityEngine(velocityEngine);
        answer.setAllowTemplateFromHeader(allowTemplateFromHeader);
        answer.setAllowContextMapAll(allowContextMapAll);

        setProperties(answer, parameters);

         
        if (ResourceHelper.isHttpUri(remaining)) {
            remaining = ResourceHelper.appendParameters(remaining, parameters);
            answer.setResourceUri(remaining);
        }

        return answer;
    }
Pair #4021 Negative (Non-Clone)
ID: 1308_1160
ClassID: 1308
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/deploymentconfigs/OpenshiftDeploymentConfigsConsumer.java
Name: org.apache.camel.component.openshift.deploymentconfigs.OpenshiftDeploymentConfigsConsumer.run()
        public void run() {
            FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> w;

             
            String namespace = getEndpoint().getKubernetesConfiguration().getNamespace();
            String labelKey = getEndpoint().getKubernetesConfiguration().getLabelKey();
            String labelValue = getEndpoint().getKubernetesConfiguration().getLabelValue();
            String resourceName = getEndpoint().getKubernetesConfiguration().getResourceName();

            if (ObjectHelper.isEmpty(namespace)) {
                w = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs().inAnyNamespace();

                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = w.withLabel(labelKey, labelValue);
                }
            } else {
                final NonNamespaceOperation<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>> client
                        = getEndpoint().getKubernetesClient().adapt(OpenShiftClient.class).deploymentConfigs()
                                .inNamespace(namespace);
                w = client;
                if (ObjectHelper.isNotEmpty(labelKey) && ObjectHelper.isNotEmpty(labelValue)) {
                    w = client.withLabel(labelKey, labelValue);
                } else if (ObjectHelper.isNotEmpty(resourceName)) {
                    w = (FilterWatchListDeletable<DeploymentConfig, DeploymentConfigList, DeployableScalableResource<DeploymentConfig>>) client
                            .withName(resourceName);
                }
            }

            watch = w.watch(new Watcher<>() {

                @Override
                public void eventReceived(Action action, DeploymentConfig resource) {
                    DeploymentConfigEvent de = new DeploymentConfigEvent(action, resource);
                    Exchange exchange = createExchange(false);
                    exchange.getIn().setBody(de.getDeploymentConfig());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION, de.getAction());
                    exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_EVENT_TIMESTAMP, System.currentTimeMillis());
                    try {
                        processor.process(exchange);
                    } catch (Exception e) {
                        getExceptionHandler().handleException("Error during processing", exchange, e);
                    } finally {
                        releaseExchange(exchange, false);
                    }
                }

                @Override
                public void onClose(WatcherException cause) {
                    if (cause != null) {
                        LOG.error(cause.getMessage(), cause);
                    }

                }
            });
        }
ID: 2051_1670
ClassID: 2051
File: systems/camel-java/components/camel-file/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
Name: org.apache.camel.component.file.strategy.FileIdempotentChangedRepositoryReadLockStrategy.releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
    public void releaseExclusiveReadLockOnRollback(
            GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange)
            throws Exception {
        String key = asKey(exchange, file);
        Runnable r = () -> {
            if (removeOnRollback) {
                idempotentRepository.remove(exchange, key);
            } else {
                 
                idempotentRepository.confirm(exchange, key);
            }

            try {
                changed.releaseExclusiveReadLockOnRollback(operations, file, exchange);
            } catch (Exception e) {
                LOG.warn("Error during releasing exclusive read lock on rollback. This exception is ignored.", e);
            }
        };

        delayOrScheduleLockRelease(r);
    }
Pair #4022 Negative (Non-Clone)
ID: 1282_1131
ClassID: 1282
File: systems/camel-java/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbProducer.java
Name: org.apache.camel.component.arangodb.ArangoDbProducer.findVertexByKey()
    private Function<Exchange, Object> findVertexByKey() {
        return exchange -> {
            try {
                ArangoVertexCollection vertexCollection = calculateVertexCollection();
                 
                String key = exchange.getIn().getMandatoryBody(String.class);
                 
                Class<?> resultClassType = (Class<?>) exchange.getIn().getHeader(RESULT_CLASS_TYPE);
                resultClassType = resultClassType != null ? resultClassType : BaseDocument.class;
                return vertexCollection.getVertex(key, resultClassType);
            } catch (InvalidPayloadException e) {
                throw new RuntimeCamelException(INVALID_PAYLOAD_MESSAGE, e);
            }
        };
    }
ID: 1721_1440
ClassID: 1721
File: systems/camel-java/components/camel-opensearch/src/main/java/org/apache/camel/component/opensearch/OpensearchScrollRequestIterator.java
Name: org.apache.camel.component.opensearch.OpensearchScrollRequestIterator.close()
    public void close() {
        if (!closed) {
            try {
                ClearScrollRequest clearScrollRequest = new ClearScrollRequest.Builder()
                        .scrollId(List.of(scrollId))
                        .build();

                esClient.clearScroll(clearScrollRequest);
                closed = true;
                exchange.setProperty(OpensearchConstants.PROPERTY_SCROLL_OPENSEARCH_QUERY_COUNT, requestCount);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
Pair #4023 Negative (Non-Clone)
ID: 175_151
ClassID: 175
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiV2Client.onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex)
            public void onResponse(InputStream response, Map<String, String> responseHeaders, SalesforceException ex) {
                if (ex != null) {
                    callback.onResponse(null, responseHeaders, ex);
                    return;
                }
                QueryJob queryJob = null;
                try {
                    queryJob = DefaultBulkApiV2Client.this.unmarshalResponse(response, request,
                            QueryJob.class);
                } catch (SalesforceException e) {
                    ex = e;
                }
                callback.onResponse(queryJob, responseHeaders, ex);
            }
ID: 1966_1601
ClassID: 1966
File: systems/camel-java/components/camel-ai/camel-weaviate/src/main/java/org/apache/camel/component/weaviate/WeaviateVectorDbProducer.java
Name: org.apache.camel.component.weaviate.WeaviateVectorDbProducer.deleteCollection(Exchange exchange)
    private void deleteCollection(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

        String collectionName;
        if (in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class) != null) {
            collectionName = in.getHeader(WeaviateVectorDbHeaders.COLLECTION_NAME, String.class);
        } else {
            collectionName = getEndpoint().getCollection();
        }

        Result<Boolean> result = this.client.schema().classDeleter()
                .withClassName(collectionName)
                .run();

        populateResponse(result, exchange);
    }
Pair #4024 Negative (Non-Clone)
ID: 3228_2525
ClassID: 3228
File: systems/camel-java/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
Name: org.apache.camel.language.simple.SimpleExpressionBuilder.camelContextOgnlExpression(final String ognl)
    public static Expression camelContextOgnlExpression(final String ognl) {
        return new ExpressionAdapter() {
            private Expression exp;

            @Override
            public void init(CamelContext context) {
                exp = ExpressionBuilder.beanExpression(context, ognl);
                exp.init(context);
            }

            @Override
            public Object evaluate(Exchange exchange) {
                 
                 
                return exp.evaluate(exchange, Object.class);
            }

            @Override
            public String toString() {
                return "camelContextOgnl(" + ognl + ")";
            }
        };
    }
ID: 3268_2635
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanClassResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanClassResolver.find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes)
    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
        if (LOG.isTraceEnabled()) {
            LOG.trace("Searching for: {} in package: {} using classloader: {}",
                    test, packageName, loader.getClass().getName());
        }

        Enumeration<URL> urls = getUrls(packageName, loader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for classes in: {} matching criteria: {}", urlPath, test);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(test, packageName, file, classes);
                } else {
                    InputStream stream = null;
                    try {
                        if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                                || urlPath.startsWith("sonicfs:")
                                || isAcceptableScheme(urlPath)) {
                             
                             
                            LOG.trace("Loading from jar using url: {}", urlPath);
                            URL urlStream = URI.create(urlPath).toURL();
                            URLConnection con = urlStream.openConnection();
                             
                            con.setUseCaches(false);
                            stream = con.getInputStream();
                        } else {
                            LOG.trace("Loading from jar using file: {}", file);
                            stream = new FileInputStream(file);
                        }

                         
                        if (jarCache == null) {
                             
                            jarCache = LRUCacheFactory.newLRUSoftCache(1000);
                        }

                        loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
                    } finally {
                        IOHelper.close(stream);
                    }
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
Pair #4025 Negative (Non-Clone)
ID: 1694_1421
ClassID: 1694
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/util/ReflectionUtils.java
Name: org.apache.camel.spring.util.ReflectionUtils.setField(Field f, Object instance, Object value)
    public static void setField(Field f, Object instance, Object value) {
        try {
            boolean oldAccessible = f.canAccess(instance);
            boolean shouldSetAccessible = !Modifier.isPublic(f.getModifiers()) && !oldAccessible;
            if (shouldSetAccessible) {
                f.setAccessible(true);
            }
            f.set(instance, value);
            if (shouldSetAccessible) {
                f.setAccessible(oldAccessible);
            }
        } catch (IllegalArgumentException ex) {
            throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + f);
        } catch (IllegalAccessException ex) {
            handleReflectionException(ex);
        }
    }
ID: 3259_2616
ClassID: 3259
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
Name: org.apache.camel.support.DefaultMessage.getHeader(String name, Object defaultValue)
    public Object getHeader(String name, Object defaultValue) {
        Object answer = null;

        if (headers == null) {
             
            headers = createHeaders();
        }

        if (!headers.isEmpty()) {
            answer = headers.get(name);
        }
        return answer != null ? answer : defaultValue;
    }
Pair #4026 Negative (Non-Clone)
ID: 2597_2210
ClassID: 2597
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonArray.java
Name: org.apache.camel.util.json.JsonArray.getLong(final int index)
    public Long getLong(final int index) {
        Object returnable = this.get(index);
        if (returnable == null) {
            return null;
        }
        if (returnable instanceof String) {
             
            returnable = new BigDecimal((String) returnable);
        }
        return ((Number) returnable).longValue();
    }
ID: 1978_1620
ClassID: 1978
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
Name: org.apache.camel.component.djl.model.cv.ZooImageGenerationPredictor.process(Exchange exchange)
    public void process(Exchange exchange) {
        if (exchange.getIn().getBody() instanceof int[]) {
            int[] seed = exchange.getIn().getBody(int[].class);
            Image[] result = predict(exchange, seed);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be int[]");
        }
    }
Pair #4027 Negative (Non-Clone)
ID: 2613_2260
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.XMLSecurityDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("secureTag", definition.getSecureTag());
        properties.put("secureTagContents", definition.getSecureTagContents());
        properties.put("passPhrase", or(definition.getPassPhrase(), definition.getPassPhraseByte()));
        properties.put("xmlCipherAlgorithm", definition.getXmlCipherAlgorithm());
        properties.put("keyCipherAlgorithm", definition.getKeyCipherAlgorithm());
        properties.put("recipientKeyAlias", definition.getRecipientKeyAlias());
        properties.put("keyOrTrustStoreParameters",
                or(definition.getKeyStoreParameters(), asRef(definition.getKeyOrTrustStoreParameters())));
        properties.put("namespaces", or(definition.getNamespaces(), asRef(definition.getNamespaceRef())));
        properties.put("keyPassword", definition.getKeyPassword());
        properties.put("digestAlgorithm", definition.getDigestAlgorithm());
        properties.put("mgfAlgorithm", definition.getMgfAlgorithm());
        properties.put("addKeyValueForEncryptedKey", definition.getAddKeyValueForEncryptedKey());
    }
ID: 1619_1393
ClassID: 1619
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
Pair #4028 Negative (Non-Clone)
ID: 1722_1441
ClassID: 1722
File: systems/camel-java/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/aggregation/ElasticsearchBulkRequestAggregationStrategy.java
Name: org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy.aggregate(Exchange oldExchange, Exchange newExchange)
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
         
        Object objBody = newExchange.getIn().getBody();
        if (!(objBody instanceof BulkOperation[])) {
            throw new InvalidPayloadRuntimeException(newExchange, BulkOperation[].class);
        }

        BulkOperation[] newBody = (BulkOperation[]) objBody;
        BulkRequest.Builder builder = new BulkRequest.Builder();
        builder.operations(List.of(newBody));
        if (oldExchange != null) {
            BulkRequest request = oldExchange.getIn().getBody(BulkRequest.class);
            builder.operations(request.operations());
        }
        newExchange.getIn().setBody(builder.build());
        return oldExchange;
    }
ID: 2480_2029
ClassID: 2480
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelRouteStatus.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus.doProcessWatchCall()
    public Integer doProcessWatchCall() throws Exception {
        List<Row> rows = new ArrayList<>();

        AtomicBoolean remoteVisible = new AtomicBoolean();
        List<Long> pids = findPids(name);
        ProcessHandle.allProcesses()
                .filter(ph -> pids.contains(ph.pid()))
                .forEach(ph -> {
                    JsonObject root = loadStatus(ph.pid());
                    if (root != null) {
                        JsonObject context = (JsonObject) root.get("context");
                        if (context == null) {
                            return;
                        }
                        JsonArray array = (JsonArray) root.get("routes");
                        for (int i = 0; i < array.size(); i++) {
                            JsonObject o = (JsonObject) array.get(i);
                            Row row = new Row();
                            row.name = context.getString("name");
                            if ("CamelJBang".equals(row.name)) {
                                row.name = ProcessHelper.extractName(root, ph);
                            }
                            row.pid = Long.toString(ph.pid());
                            row.routeId = o.getString("routeId");
                            row.group = o.getString("group");
                            row.description = o.getString("description");
                            row.note = o.getString("note");
                            row.from = o.getString("from");
                            Boolean bool = o.getBoolean("remote");
                            if (bool != null) {
                                 
                                remoteVisible.set(true);
                                row.remote = bool;
                            }
                            row.source = o.getString("source");
                            row.state = o.getString("state");
                            row.age = o.getString("uptime");
                            row.uptime = row.age != null ? TimeUtils.toMilliSeconds(row.age) : 0;
                            JsonObject eo = (JsonObject) o.get("lastError");
                            if (eo != null) {
                                row.lastErrorPhase = eo.getString("phase");
                                row.lastErrorTimestamp = eo.getLongOrDefault("timestamp", 0);
                                row.lastErrorMessage = eo.getString("message");
                                row.stackTrace = eo.getCollection("stackTrace");
                            }
                            Map<String, ?> stats = o.getMap("statistics");
                            if (stats != null) {
                                Object load = stats.get("load01");
                                if (load != null) {
                                    row.load01 = load.toString();
                                }
                                load = stats.get("load05");
                                if (load != null) {
                                    row.load05 = load.toString();
                                }
                                load = stats.get("load15");
                                if (load != null) {
                                    row.load15 = load.toString();
                                }
                                Object thp = stats.get("exchangesThroughput");
                                if (thp != null) {
                                    row.throughput = thp.toString();
                                }
                                Object coverage = stats.get("coverage");
                                if (coverage != null) {
                                    row.coverage = coverage.toString();
                                }
                                row.total = stats.get("exchangesTotal").toString();
                                row.inflight = stats.get("exchangesInflight").toString();
                                row.failed = stats.get("exchangesFailed").toString();
                                row.mean = stats.get("meanProcessingTime").toString();
                                if ("-1".equals(row.mean)) {
                                    row.mean = null;
                                }
                                row.max = stats.get("maxProcessingTime").toString();
                                row.min = stats.get("minProcessingTime").toString();
                                Object last = stats.get("lastProcessingTime");
                                if (last != null) {
                                    row.last = last.toString();
                                }
                                last = stats.get("deltaProcessingTime");
                                if (last != null) {
                                    row.delta = last.toString();
                                }
                                last = stats.get("lastCreatedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastStarted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastCompletedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastCompleted = TimeUtils.printSince(time);
                                }
                                last = stats.get("lastFailedExchangeTimestamp");
                                if (last != null) {
                                    long time = Long.parseLong(last.toString());
                                    row.sinceLastFailed = TimeUtils.printSince(time);
                                }
                            }

                            boolean add = true;
                            if (mean > 0 && (row.mean == null || Long.parseLong(row.mean) < mean)) {
                                add = false;
                            }
                            if (limit > 0 && rows.size() >= limit) {
                                add = false;
                            }
                            if (add && filter != null) {
                                boolean match = false;
                                for (String f : filter) {
                                    if (!match) {
                                        String from = StringHelper.before(row.from, "?", row.from);
                                        String w = f.endsWith("*") ? f : f + "*";  
                                        match = PatternHelper.matchPattern(row.routeId, f)
                                                || PatternHelper.matchPattern(from, w);
                                    }
                                }
                                if (!match) {
                                    add = false;
                                }
                            }
                            if (add && group != null) {
                                add = PatternHelper.matchPatterns(row.group, group);
                            }
                            if (add && running) {
                                add = "Started".equals(row.state);
                            }
                            if (add) {
                                rows.add(row);
                            }
                        }
                    }
                });

         
        rows.sort(this::sortRow);

        if (!rows.isEmpty()) {
            if (error) {
                for (Row r : rows) {
                    boolean error = r.lastErrorPhase != null;
                    if (error) {
                        printErrorTable(r, remoteVisible.get());
                    }
                }
            } else {
                printTable(rows, remoteVisible.get());
            }
        }

        return 0;
    }
Pair #4029 Negative (Non-Clone)
ID: 1311_1190
ClassID: 1311
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
Name: org.apache.camel.component.kubernetes.services.KubernetesServicesProducer.doListServiceByLabels(Exchange exchange)
    protected void doListServiceByLabels(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_SERVICE_LABELS, Map.class);
        ServiceList servicesList;

        if (ObjectHelper.isEmpty(labels)) {
            LOG.error("Listing Services by labels requires specifying labels");
            throw new IllegalArgumentException("Listing Services by labels requires specifying labels");
        }

        if (ObjectHelper.isEmpty(namespace)) {
            servicesList = getEndpoint().getKubernetesClient().services().inAnyNamespace().withLabels(labels).list();
        } else {
            servicesList = getEndpoint().getKubernetesClient().services().inNamespace(namespace).withLabels(labels).list();
        }

        prepareOutboundMessage(exchange, servicesList.getItems());
    }
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
Pair #4030 Negative (Non-Clone)
ID: 1873_1544
ClassID: 1873
File: systems/camel-java/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcServiceOptions.java
Name: org.apache.camel.component.knative.http.KnativeOidcServiceOptions.configureOptions(CamelContext camelContext)
    public void configureOptions(CamelContext camelContext) {
        PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent();

        boolean oidcEnabled = Boolean.parseBoolean(
                propertiesComponent.resolveProperty(PROPERTY_PREFIX + "enabled").orElse("false"));
        setOidcEnabled(oidcEnabled);

        if (oidcEnabled) {
            Optional<String> oidcTokenPath = propertiesComponent.resolveProperty(PROPERTY_PREFIX + "token.path");
            oidcTokenPath.ifPresent(token -> this.oidcTokenPath = token);

            boolean cacheTokens = Boolean.parseBoolean(
                    propertiesComponent.resolveProperty(PROPERTY_PREFIX + "cache.tokens").orElse("true"));
            setCacheTokens(cacheTokens);
        }
    }
ID: 1042_906
ClassID: 1042
File: systems/camel-java/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltAggregationStrategy.java
Name: org.apache.camel.component.xslt.XsltAggregationStrategy.configureOutput(XsltBuilder xslt, String output)
    protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
        if (ObjectHelper.isEmpty(output)) {
            return;
        }

        if ("string".equalsIgnoreCase(output)) {
            xslt.outputString();
        } else if ("bytes".equalsIgnoreCase(output)) {
            xslt.outputBytes();
        } else if ("DOM".equalsIgnoreCase(output)) {
            xslt.outputDOM();
        } else if ("file".equalsIgnoreCase(output)) {
            xslt.outputFile();
        } else {
            throw new IllegalArgumentException("Unknown output type: " + output);
        }
    }
Pair #4031 Negative (Non-Clone)
ID: 2509_2062
ClassID: 2509
File: systems/camel-java/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSupportMojo.java
Name: org.apache.camel.maven.dsl.yaml.GenerateYamlSupportMojo.implementType(ClassInfo ci, DotName interfaceType)
    protected boolean implementType(ClassInfo ci, DotName interfaceType) {
        if (ci == null) {
            return false;
        }
        if (ci.name().equals(interfaceType)) {
            return true;
        }

        for (DotName name : ci.interfaceNames()) {
            if (name.equals(interfaceType)) {
                return true;
            }
        }

        DotName superName = ci.superName();
        if (superName != null) {
            return implementType(
                    view.getClassByName(superName),
                    interfaceType);
        }

        return false;
    }
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #4032 Negative (Non-Clone)
ID: 3258_2615
ClassID: 3258
File: systems/camel-java/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrySelectors.java
Name: org.apache.camel.impl.cloud.ServiceRegistrySelectors.select(Collection<ServiceRegistry> services)
        public Optional<ServiceRegistry> select(Collection<ServiceRegistry> services) {
            Optional<Map.Entry<Integer, List<ServiceRegistry>>> highPriorityServices = services.stream()
                    .collect(Collectors.groupingBy(ServiceRegistry::getOrder))
                    .entrySet().stream()
                    .min(Comparator.comparingInt(Map.Entry::getKey));

            if (highPriorityServices.isPresent()) {
                if (highPriorityServices.get().getValue().size() == 1) {
                    return Optional.of(highPriorityServices.get().getValue().iterator().next());
                } else {
                    LOGGER.warn("Multiple ServiceRegistry instances available for highest priority (order={}, items={})",
                            highPriorityServices.get().getKey(),
                            highPriorityServices.get().getValue());
                }
            }

            return Optional.empty();
        }
ID: 741_670
ClassID: 741
File: systems/camel-java/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Name: org.apache.camel.management.mbean.ManagedRoute.getPhase()
                public Phase getPhase() {
                    if (error.getPhase() != null) {
                        switch (error.getPhase()) {
                            case START:
                                return Phase.START;
                            case STOP:
                                return Phase.STOP;
                            case SUSPEND:
                                return Phase.SUSPEND;
                            case RESUME:
                                return Phase.RESUME;
                            case SHUTDOWN:
                                return Phase.SHUTDOWN;
                            case REMOVE:
                                return Phase.REMOVE;
                            default:
                                throw new IllegalStateException();
                        }
                    }
                    return null;
                }
Pair #4033 Negative (Non-Clone)
ID: 1619_1393
ClassID: 1619
File: systems/camel-java/components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQConsumer.java
Name: org.apache.camel.component.springrabbit.SpringRabbitMQConsumer.doResume()
    protected void doResume() throws Exception {
         
        if (!initialized) {
            doStart();
        } else {
            if (listenerContainer != null) {
                startListenerContainer();
            } else {
                LOG.warn(
                        "The listenerContainer is not instantiated. Probably there was a timeout during the Suspend operation. Please restart your consumer route.");
            }
        }
    }
ID: 1914_1576
ClassID: 1914
File: systems/camel-java/components/camel-redis/src/main/java/org/apache/camel/component/redis/processor/aggregate/RedisAggregationRepository.java
Name: org.apache.camel.component.redis.processor.aggregate.RedisAggregationRepository.add(CamelContext camelContext, String key, Exchange exchange)
    public Exchange add(CamelContext camelContext, String key, Exchange exchange) {
        if (optimistic) {
            throw new UnsupportedOperationException();
        }
        LOG.trace("Adding an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
        RLock lock = redisson.getLock("aggregationLock");
        try {
            lock.lock();
            DefaultExchangeHolder newHolder = DefaultExchangeHolder.marshal(exchange, true, allowSerializedHeaders);
            DefaultExchangeHolder oldHolder = cache.put(key, newHolder);
            return unmarshallExchange(camelContext, oldHolder);
        } finally {
            LOG.trace("Added an Exchange with ID {} for key {} in a thread-safe manner.", exchange.getExchangeId(), key);
            lock.unlock();
        }
    }
Pair #4034 Negative (Non-Clone)
ID: 2641_2288
ClassID: 2641
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.send()
    public Exchange send() throws CamelExecutionException {
        DefaultFluentProducerTemplate clone = checkCloned();

         
        final Endpoint target = clone.target();

        Exchange result;
        Exchange exchange = clone.exchangeSupplier != null ? clone.exchangeSupplier.get() : null;
        if (exchange != null) {
            result = clone.template().send(target, exchange);
        } else {
            Processor proc = clone.processorSupplier != null ? clone.processorSupplier.get() : null;
            final Processor processor = proc != null ? proc : clone.defaultProcessor();
            result = clone.template().send(target, processor);
        }

         
        cloned = false;
        useDefaultEndpoint = true;

        return result;
    }
ID: 3263_2623
ClassID: 3263
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchangeHolder.java
Name: org.apache.camel.support.DefaultExchangeHolder.checkValidExchangePropertyObjects(String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues)
    private static Map<String, Object> checkValidExchangePropertyObjects(
            String type, Exchange exchange, Map<String, Object> map, boolean allowSerializedValues) {
        if (map == null) {
            return null;
        }

        Map<String, Object> result = new LinkedHashMap<>();
        for (Map.Entry<String, Object> entry : map.entrySet()) {

             
            if (entry.getValue() == null) {
                continue;
            }

            Object value = getValidExchangePropertyValue(entry.getKey(), entry.getValue(), allowSerializedValues);
            if (value != null) {
                Serializable converted
                        = exchange.getContext().getTypeConverter().convertTo(Serializable.class, exchange, value);
                if (converted != null) {
                    result.put(entry.getKey(), converted);
                } else {
                    logCannotSerializeObject(type, entry.getKey(), entry.getValue());
                }
            } else {
                logInvalidExchangePropertyValue(type, entry.getKey(), entry.getValue());
            }
        }

        return result;
    }
Pair #4035 Negative (Non-Clone)
ID: 1316_1217
ClassID: 1316
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
Name: org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsProducer.doScaleDeployment(Exchange exchange)
    protected void doScaleDeployment(Exchange exchange) {
        String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
        String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
        if (ObjectHelper.isEmpty(deploymentName)) {
            LOG.error("Scale a specific deployment require specify a deployment name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
        }
        if (ObjectHelper.isEmpty(namespaceName)) {
            LOG.error("Scale a specific deployment require specify a namespace name");
            throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
        }
        if (ObjectHelper.isEmpty(replicasNumber)) {
            LOG.error("Scale a specific deployment require specify a replicas number");
            throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
        }
        Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName)
                .withName(deploymentName).scale(replicasNumber);

        prepareOutboundMessage(exchange, deploymentScaled.getStatus().getReplicas());
    }
ID: 1614_1389
ClassID: 1614
File: systems/camel-java/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
Name: org.apache.camel.component.mail.MailBinding.populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
    protected String populateContentOnMimeMessage(MimeMessage part, MailConfiguration configuration, Exchange exchange)
            throws MessagingException, IOException {

        String contentType = determineContentType(configuration, exchange);

        LOG.trace("Using Content-Type {} for MimeMessage: {}", contentType, part);

        String body = exchange.getIn().getBody(String.class);
        if (body == null) {
            body = "";
        }

         
        DataSource ds = new ByteArrayDataSource(body, contentType);
        part.setDataHandler(new DataHandler(ds));

         
        part.setHeader("Content-Type", contentType);

        return contentType;
    }
Pair #4036 Negative (Non-Clone)
ID: 218_241
ClassID: 218
File: systems/camel-java/components/camel-azure/camel-azure-eventhubs/src/main/java/org/apache/camel/component/azure/eventhubs/operations/EventHubsProducerOperations.java
Name: org.apache.camel.component.azure.eventhubs.operations.EventHubsProducerOperations.sendAsyncEvents(final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange, final AsyncCallback asyncCallback)
    private boolean sendAsyncEvents(
            final Iterable<EventData> eventData, final SendOptions sendOptions, final Exchange exchange,
            final AsyncCallback asyncCallback) {
        sendAsyncEventsWithSuitableMethod(eventData, sendOptions)
                .subscribe(unused -> LOG.debug("Processed one event..."), error -> {
                     
                    LOG.debug("Error processing async exchange with error: {}", error.getMessage());
                    exchange.setException(error);
                    asyncCallback.done(false);
                }, () -> {
                     
                    LOG.debug("All events with exchange have been sent successfully.");
                    asyncCallback.done(false);
                });

        return false;
    }
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
Pair #4037 Negative (Non-Clone)
ID: 2613_2255
ClassID: 2613
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/UniVocityAbstractDataFormatReifier.java
Name: org.apache.camel.reifier.dataformat.UniVocityAbstractDataFormatReifier.prepareDataFormatConfig(Map<String, Object> properties)
    protected void prepareDataFormatConfig(Map<String, Object> properties) {
        properties.put("nullValue", definition.getNullValue());
        properties.put("skipEmptyLines", definition.getSkipEmptyLines());
        properties.put("ignoreTrailingWhitespaces", definition.getIgnoreTrailingWhitespaces());
        properties.put("ignoreLeadingWhitespaces", definition.getIgnoreLeadingWhitespaces());
        properties.put("headersDisabled", definition.getHeadersDisabled());
        properties.put("headers", getValidHeaderNames());
        properties.put("headerExtractionEnabled", definition.getHeaderExtractionEnabled());
        properties.put("numberOfRecordsToRead", definition.getNumberOfRecordsToRead());
        properties.put("emptyValue", definition.getEmptyValue());
        properties.put("lineSeparator", definition.getLineSeparator());
        properties.put("normalizedLineSeparator", definition.getNormalizedLineSeparator());
        properties.put("comment", definition.getComment());
        properties.put("lazyLoad", definition.getLazyLoad());
        properties.put("asMap", definition.getAsMap());
    }
ID: 2601_2221
ClassID: 2601
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getStringOrDefault(final String key, final String defaultValue)
    public String getStringOrDefault(final String key, final String defaultValue) {
        Object returnable;
        if (this.containsKey(key)) {
            returnable = this.get(key);
        } else {
            return defaultValue;
        }
        if (returnable instanceof Boolean) {
            returnable = returnable.toString();
        } else if (returnable instanceof Number) {
            returnable = returnable.toString();
        }
        return (String) returnable;
    }
Pair #4038 Negative (Non-Clone)
ID: 714_654
ClassID: 714
File: systems/camel-java/components/camel-observation/src/main/java/org/apache/camel/observation/SetCorrelationContextProcessor.java
Name: org.apache.camel.observation.SetCorrelationContextProcessor.process(Exchange exchange, AsyncCallback callback)
    public boolean process(Exchange exchange, AsyncCallback callback) {
        try {
            MicrometerObservationSpanAdapter camelSpan = (MicrometerObservationSpanAdapter) ActiveSpanManager.getSpan(exchange);
            if (camelSpan != null) {
                String item = expression.evaluate(exchange, String.class);
                camelSpan.setCorrelationContextItem(baggageName, item);
            } else {
                LOG.warn("Micrometer Observation: Cannot find managed span for exchange: {}", exchange);
            }
        } catch (Exception e) {
            exchange.setException(e);
        } finally {
             
            callback.done(true);
        }

        return true;
    }
ID: 683_617
ClassID: 683
File: systems/camel-java/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
Name: org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicy.onStart(Route route)
    public void onStart(Route route) {
         
         
         
        statisticsMap.computeIfAbsent(route,
                it -> {
                    boolean skip = !configuration.isRouteEnabled();
                     
                    if (!skip) {
                        skip = (it.isCreatedByKamelet() && !registerKamelets)
                                || (it.isCreatedByRouteTemplate() && !registerTemplates);
                    }
                    if (!skip && configuration.getExcludePattern() != null) {
                        String[] patterns = configuration.getExcludePattern().split(",");
                        skip = PatternHelper.matchPatterns(route.getRouteId(), patterns);
                    }
                    LOG.debug("Capturing metrics for route: {} -> {}", route.getRouteId(), skip);
                    if (skip) {
                        return null;
                    }
                    return new MetricsStatistics(
                            getMeterRegistry(), it.getCamelContext(), it, getNamingStrategy(), configuration);
                });
    }
Pair #4039 Negative (Non-Clone)
ID: 176_158
ClassID: 176
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
Name: org.apache.camel.component.salesforce.internal.client.DefaultBulkApiClient.createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback)
    public void createJob(JobInfo request, Map<String, List<String>> headers, final JobInfoResponseCallback callback) {
         
        sanitizeJobRequest(request);

        final Request post = getRequest(HttpMethod.POST, jobUrl(null), headers);
        try {
            marshalRequest(objectFactory.createJobInfo(request), post, APPLICATION_XML_UTF8);
        } catch (Exception e) {
            callback.onResponse(null, Collections.emptyMap(), new SalesforceException(e));
            return;
        }

         
        doHttpRequest(post, new ClientResponseCallback() {
            @Override
            public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) {
                JobInfo value = null;
                if (response != null) {
                    try {
                        value = unmarshalResponse(response, post, JobInfo.class);
                    } catch (SalesforceException e) {
                        ex = e;
                    }
                }
                callback.onResponse(value, headers, ex);
            }
        });
    }
ID: 657_583
ClassID: 657
File: systems/camel-java/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
Name: org.apache.camel.component.openstack.keystone.KeystoneEndpoint.createProducer()
    public Producer createProducer() throws Exception {
        switch (getSubsystem()) {
            case KeystoneConstants.REGIONS:
                return new RegionProducer(this, createClient());
            case KeystoneConstants.DOMAINS:
                return new DomainProducer(this, createClient());
            case KeystoneConstants.PROJECTS:
                return new ProjectProducer(this, createClient());
            case KeystoneConstants.USERS:
                return new UserProducer(this, createClient());
            case KeystoneConstants.GROUPS:
                return new GroupProducer(this, createClient());
            default:
                throw new IllegalArgumentException("Can't create producer with subsystem " + subsystem);
        }
    }
Pair #4040 Negative (Non-Clone)
ID: 879_733
ClassID: 879
File: systems/camel-java/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/LocalDateTimeFormatFactory.java
Name: org.apache.camel.dataformat.bindy.format.factories.LocalDateTimeFormatFactory.getDateFormat()
        DateTimeFormatter getDateFormat() {
            DateTimeFormatter result;
            if (locale != null) {
                result = DateTimeFormatter.ofPattern(pattern, locale)
                        .withZone(zone);
            } else {
                result = DateTimeFormatter.ofPattern(pattern)
                        .withZone(zone);
            }
            return result;
        }
ID: 2386_1877
ClassID: 2386
File: systems/camel-java/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConsumer.java
Name: org.apache.camel.component.irc.IrcConsumer.onNick(IRCUser user, String newNick)
        public void onNick(IRCUser user, String newNick) {
            if (configuration.isOnNick()) {
                Exchange exchange = createOnNickExchange(user, newNick);
                try {
                    getProcessor().process(exchange);
                } catch (Exception e) {
                    handleException(e);
                }
            }
        }
Pair #4041 Negative (Non-Clone)
ID: 2598_2214
ClassID: 2598
File: systems/camel-java/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/JsonObject.java
Name: org.apache.camel.util.json.JsonObject.getEnumOrDefault(final String key, final T defaultValue)
    public <T extends Enum<T>> T getEnumOrDefault(final String key, final T defaultValue) throws ClassNotFoundException {
         
        T returnable;
        final String value;
        final String[] splitValues;
        final int numberOfSplitValues;
        final StringBuilder returnTypeName;
        final StringBuilder enumName;
        final Class<T> returnType;
         
        if (this.containsKey(key)) {
             
            value = this.getStringOrDefault(key, "");
            if (value == null) {
                return null;
            }
             
            splitValues = value.split("\\.");
            numberOfSplitValues = splitValues.length;
            returnTypeName = new StringBuilder();
            enumName = new StringBuilder();
            for (int i = 0; i < numberOfSplitValues; i++) {
                if (i == (numberOfSplitValues - 1)) {
                     
                    enumName.append(splitValues[i]);
                } else if (i == (numberOfSplitValues - 2)) {
                     
                    returnTypeName.append(splitValues[i]);
                } else {
                     
                    returnTypeName.append(splitValues[i]);
                    returnTypeName.append(".");
                }
            }
             
            returnType = (Class<T>) Class.forName(returnTypeName.toString());
            returnable = Enum.valueOf(returnType, enumName.toString());
        } else {
             
            return defaultValue;
        }
        return returnable;
    }
ID: 192_215
ClassID: 192
File: systems/camel-java/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
Name: org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.processUpsertSobject(final Exchange exchange, final AsyncCallback callback)
    private void processUpsertSobject(final Exchange exchange, final AsyncCallback callback) throws SalesforceException {
        String sObjectName = determineSObjectName(exchange);
        String sObjectExtIdValue;
        final String sObjectExtIdName = getParameter(SOBJECT_EXT_ID_NAME, exchange, IGNORE_BODY, NOT_OPTIONAL);

         
        Object oldValue = null;
        final AbstractSObjectBase sObjectBase = exchange.getIn().getBody(AbstractSObjectBase.class);
        if (sObjectBase != null) {
            oldValue = getAndClearPropertyValue(sObjectBase, sObjectExtIdName);
            sObjectExtIdValue = oldValue.toString();
             
            sObjectBase.clearBaseFields();
        } else {
            sObjectExtIdValue = getParameter(SOBJECT_EXT_ID_VALUE, exchange, IGNORE_BODY, NOT_OPTIONAL);
        }

        final Object finalOldValue = oldValue;
        restClient.upsertSObject(sObjectName, sObjectExtIdName, sObjectExtIdValue, determineHeaders(exchange),
                getRequestStream(exchange), new RestClient.ResponseCallback() {
                    @Override
                    public void onResponse(InputStream response, Map<String, String> headers, SalesforceException exception) {
                        restoreFields(exchange, sObjectBase, null, sObjectExtIdName, finalOldValue);
                        processResponse(exchange, response, headers, exception, callback);
                    }
                });
    }
Pair #4042 Negative (Non-Clone)
ID: 1624_1399
ClassID: 1624
File: systems/camel-java/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-vector-store/src/main/java/org/apache/camel/component/springai/vectorstore/SpringAiVectorStoreProducer.java
Name: org.apache.camel.component.springai.vectorstore.SpringAiVectorStoreProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        final Message message = exchange.getMessage();
        final VectorStore vectorStore = getEndpoint().getConfiguration().getVectorStore();

         
        SpringAiVectorStoreOperation operation = message.getHeader(
                SpringAiVectorStoreHeaders.OPERATION,
                getEndpoint().getConfiguration().getOperation(),
                SpringAiVectorStoreOperation.class);

        switch (operation) {
            case ADD:
                processAdd(exchange, vectorStore);
                break;
            case DELETE:
                processDelete(exchange, vectorStore);
                break;
            case SIMILARITY_SEARCH:
                processSimilaritySearch(exchange, vectorStore);
                break;
            default:
                throw new IllegalArgumentException("Unknown operation: " + operation);
        }
    }
ID: 2211_1738
ClassID: 2211
File: systems/camel-java/components/camel-zeebe/src/main/java/org/apache/camel/component/zeebe/internal/ZeebeService.java
Name: org.apache.camel.component.zeebe.internal.ZeebeService.completeJob(JobRequest message)
    public JobResponse completeJob(JobRequest message) {
        JobResponse resultMessage = new JobResponse();

        try {
            GatewayGrpc.GatewayBlockingStub stub = GatewayGrpc.newBlockingStub(managedChannel);
            GatewayOuterClass.CompleteJobRequest.Builder builder = GatewayOuterClass.CompleteJobRequest.newBuilder()
                    .setJobKey(message.getJobKey());
            if (!message.getVariables().isEmpty()) {
                builder = builder.setVariables(objectMapper.writeValueAsString(message.getVariables()));
            }
            GatewayOuterClass.CompleteJobRequest request = builder.build();
            GatewayOuterClass.CompleteJobResponse completeJobResponse = stub.completeJob(request);

            resultMessage.setSuccess(true);
        } catch (StatusRuntimeException exception) {
            LOG.error(String.format("Cannot complete Job %s", message.getJobKey()), exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setErrorCode(exception.getStatus().toString());
            resultMessage.setSuccess(false);
        } catch (JsonProcessingException exception) {
            LOG.error("Could not convert variables to JSON", exception);
            resultMessage.setErrorMessage(exception.getMessage());
            resultMessage.setSuccess(false);
        }

        return resultMessage;
    }
Pair #4043 Negative (Non-Clone)
ID: 922_795
ClassID: 922
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteProducer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteProducer.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {

        if (logger.isDebugEnabled()) {
             
             
             
            logger.debug("uploader thread/id: {} / {}. api call completed.", Thread.currentThread().getId(),
                    exchange.getExchangeId());
        }

        if (exchange.getIn().getBody() instanceof List) {
            boolean groupedExchanges = false;
            for (Object body : exchange.getIn().getBody(List.class)) {
                if (body instanceof Exchange) {
                    send((Exchange) body);
                    groupedExchanges = true;
                }
            }
            if (!groupedExchanges) {
                send(exchange);
            }
        } else {
            send(exchange);
        }
    }
ID: 2258_1785
ClassID: 2258
File: systems/camel-java/components/camel-nitrite/src/main/java/org/apache/camel/component/nitrite/operation/repository/FindRepositoryOperation.java
Name: org.apache.camel.component.nitrite.operation.repository.FindRepositoryOperation.execute(Exchange exchange, NitriteEndpoint endpoint)
    protected void execute(Exchange exchange, NitriteEndpoint endpoint) throws Exception {
        ObjectRepository repository = (ObjectRepository) endpoint.getNitriteCollection();
        if (objectFilter != null && findOptions != null) {
            exchange.getMessage().setBody(repository.find(objectFilter, findOptions));
        } else if (objectFilter != null) {
            exchange.getMessage().setBody(repository.find(objectFilter));
        } else {
            exchange.getMessage().setBody(repository.find());
        }
    }
Pair #4044 Negative (Non-Clone)
ID: 2096_1691
ClassID: 2096
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultFtpClientActivityListener.java
Name: org.apache.camel.component.file.remote.DefaultFtpClientActivityListener.onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize)
    public void onUpload(String host, String file, long chunkSize, long totalChunkSize, long fileSize) {
        transferredBytes = totalChunkSize;

        String msg
                = "Uploading to host: " + host + " file: " + file + " chunk (" + chunkSize + "/" + totalChunkSize + " bytes)";
        if (fileSize > 0) {
            float percent = ((float) totalChunkSize / (float) fileSize) * 100L;
            String num = String.format("%.1f", percent);
             
            if (totalChunkSize < fileSize && "100.0".equals(num)) {
                num = "99.9";
            }
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (progress: " + size + "/" + num + "%)";
        } else {
             
             
            String size = StringHelper.humanReadableBytes(totalChunkSize);
            msg += " (uploaded: " + size + ")";
        }
         
        doLogVerbose(msg);
         
        if (interval.taken() > endpoint.getTransferLoggingIntervalSeconds() * 1000) {
            doLog(msg);
            interval.restart();
        }
    }
ID: 1982_1623
ClassID: 1982
File: systems/camel-java/components/camel-ai/camel-langchain4j-agent-api/src/main/java/org/apache/camel/component/langchain4j/agent/api/guardrails/WordCountGuardrail.java
Name: org.apache.camel.component.langchain4j.agent.api.guardrails.WordCountGuardrail.WordCountGuardrail(int minWords, int maxWords)
    public WordCountGuardrail(int minWords, int maxWords) {
        if (minWords < 0) {
            throw new IllegalArgumentException("minWords cannot be negative");
        }
        if (maxWords <= 0) {
            throw new IllegalArgumentException("maxWords must be positive");
        }
        if (minWords > maxWords) {
            throw new IllegalArgumentException("minWords cannot exceed maxWords");
        }
        this.minWords = minWords;
        this.maxWords = maxWords;
    }
Pair #4045 Negative (Non-Clone)
ID: 3240_2566
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/SetVariableReifier.java
Name: org.apache.camel.reifier.SetVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        ObjectHelper.notNull(definition.getName(), "variableName");
        Expression expr = createExpression(definition.getExpression());
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        SetVariableProcessor answer = new SetVariableProcessor(nameExpr, expr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 260_343
ClassID: 260
File: systems/camel-java/components/camel-azure/camel-azure-storage-datalake/src/main/java/org/apache/camel/component/azure/storage/datalake/DataLakeConfigurationOptionsProxy.java
Name: org.apache.camel.component.azure.storage.datalake.DataLakeConfigurationOptionsProxy.getFileQueryOptions(final Exchange exchange)
    public FileQueryOptions getFileQueryOptions(final Exchange exchange) {
        FileQueryOptions queryOptions = getFileQueryOption(exchange);

        if (ObjectHelper.isNotEmpty(queryOptions)) {
            return queryOptions;
        }
        final String expression = getExpression(exchange);
        final FileQuerySerialization inputSerialization = getInputSerialization(exchange);
        final FileQuerySerialization outputSerialization = getOutputSerialization(exchange);
        final Consumer<FileQueryError> errorConsumer = getErrorConsuer(exchange);
        final Consumer<FileQueryProgress> progressConsumer = getProgressConsuer(exchange);
        queryOptions = new FileQueryOptions(expression)
                .setInputSerialization(inputSerialization)
                .setOutputSerialization(outputSerialization)
                .setErrorConsumer(errorConsumer)
                .setProgressConsumer(progressConsumer);

        return queryOptions;

    }
Pair #4046 Negative (Non-Clone)
ID: 3240_2568
ClassID: 3240
File: systems/camel-java/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RemoveVariableReifier.java
Name: org.apache.camel.reifier.RemoveVariableReifier.createProcessor()
    public Processor createProcessor() throws Exception {
        Expression nameExpr;
        String key = parseString(definition.getName());
        if (LanguageSupport.hasSimpleFunction(key)) {
            nameExpr = camelContext.resolveLanguage("simple").createExpression(key);
        } else {
            nameExpr = camelContext.resolveLanguage("constant").createExpression(key);
        }
        nameExpr.init(camelContext);

        RemoveVariableProcessor answer = new RemoveVariableProcessor(nameExpr);
        answer.setDisabled(isDisabled(camelContext, definition));
        return answer;
    }
ID: 1243_1067
ClassID: 1243
File: systems/camel-java/components/camel-influxdb2/src/main/java/org/apache/camel/component/influxdb2/converters/CamelInfluxDb2Converters.java
Name: org.apache.camel.component.influxdb2.converters.CamelInfluxDb2Converters.fromMapToPoint(Map<String, Object> map)
    public static Point fromMapToPoint(Map<String, Object> map) {
        Object measurementName = map.get(InfluxDb2Constants.MEASUREMENT);
        if (measurementName == null) {
            String format = String.format("Unable to find the header for the measurement in: %s", map.keySet().toString());
            throw new CamelInfluxDb2Exception(format);
        }

        String measurenmentNameString = measurementName.toString();
        Point point = Point.measurement(measurenmentNameString);
        map.remove(InfluxDb2Constants.MEASUREMENT);
        point.addFields(map);
        map.put(InfluxDb2Constants.MEASUREMENT, measurementName);

        return point;
    }
Pair #4047 Negative (Non-Clone)
ID: 2573_2159
ClassID: 2573
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
Name: org.apache.camel.maven.packaging.PackageDataFormatMojo.readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
    private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext)
            throws MojoExecutionException {
         
        if (file.isDirectory()) {
            return null;
        }
        String name = file.getName();
        if (name.charAt(0) != '.') {
            if (!buffer.isEmpty()) {
                buffer.append(" ");
            }
            buffer.append(name);
        }

        if (!buildContext.hasDelta(file)) {
             
             
             
             
            return null;
        }

         
        try {
            String text = PackageHelper.loadText(file);
            Map<String, String> map = PackageHelper.parseAsMap(text);
            return map.get("class");
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e);
        }
    }
ID: 767_696
ClassID: 767
File: systems/camel-java/components/camel-ibm/camel-ibm-watson-speech-to-text/src/main/java/org/apache/camel/component/ibm/watson/stt/WatsonSpeechToTextProducer.java
Name: org.apache.camel.component.ibm.watson.stt.WatsonSpeechToTextProducer.listModels(Exchange exchange)
    private void listModels(Exchange exchange) {
        SpeechToText stt = getEndpoint().getSttClient();
        if (stt == null) {
            throw new IllegalStateException("STT client not initialized");
        }

        LOG.trace("Listing available speech recognition models");

        SpeechModels models = stt.listModels().execute().getResult();

        Message message = getMessageForResponse(exchange);
        message.setBody(models.getModels());
    }
Pair #4048 Negative (Non-Clone)
ID: 1310_1187
ClassID: 1310
File: systems/camel-java/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
Name: org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsProducer.doList(Exchange exchange)
    protected void doList(Exchange exchange) {
        String namespace = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
        ServiceAccountList saList;

        if (ObjectHelper.isEmpty(namespace)) {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inAnyNamespace().list();
        } else {
            saList = getEndpoint().getKubernetesClient().serviceAccounts().inNamespace(namespace).list();
        }

        prepareOutboundMessage(exchange, saList.getItems());
    }
ID: 2642_2290
ClassID: 2642
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.defaultProcessor()
    private Processor defaultProcessor() {
        return exchange -> {
            if (headers != null) {
                exchange.getIn().getHeaders().putAll(headers);
            }
            if (exchangeProperties != null) {
                exchange.getProperties().putAll(exchangeProperties);
            }
            if (body != null) {
                exchange.getIn().setBody(body);
            }
            if (variables != null) {
                variables.forEach((k, v) -> ExchangeHelper.setVariable(exchange, k, v));
            }
        };
    }
Pair #4049 Negative (Non-Clone)
ID: 2638_2277
ClassID: 2638
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndProperty(String endpoint, ExchangePattern pattern, final Object body, final String property, final Object propertyValue)
    public Object sendBodyAndProperty(
            String endpoint, ExchangePattern pattern, final Object body,
            final String property, final Object propertyValue)
            throws CamelExecutionException {
        Exchange exchange = send(endpoint, pattern, createBodyAndPropertyProcessor(body, property, propertyValue));
        Object result = extractResultBody(exchange, pattern);
        if (pattern == ExchangePattern.InOnly) {
             
            return null;
        } else {
            return result;
        }
    }
ID: 1009_873
ClassID: 1009
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Index.java
Name: org.apache.camel.component.olingo2.Olingo2Index.filterResponse(Object response)
    public Object filterResponse(Object response) {
        if (response instanceof ODataFeed) {
            response = filter((ODataFeed) response);
        } else if (response instanceof Iterable) {
            response = filter((Iterable<Object>) response);
        } else if (response.getClass().isArray()) {
            List<Object> result = new ArrayList<>();
            final int size = Array.getLength(response);
            for (int i = 0; i < size; i++) {
                result.add(Array.get(response, i));
            }
            response = filter(result);
        } else if (response instanceof ODataEntry) {
            response = filter((ODataEntry) response);
        } else {
            response = filter(response);
        }

        return response;
    }
Pair #4050 Negative (Non-Clone)
ID: 2094_1686
ClassID: 2094
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.getLastFtpActivity()
    public String getLastFtpActivity() {
        FTPClient client = getOperations().getFtpClient();
        FtpClientActivityListener listener = (FtpClientActivityListener) client.getCopyStreamListener();
        if (listener != null) {
            String log = listener.getLastLogActivity();
            if (log != null) {
                long since = listener.getLastLogActivityTimestamp();
                if (since > 0) {
                    String human = TimeUtils.printSince(since);
                    return log + " " + human + " ago";
                } else {
                    return log;
                }
            }
        }
        return null;
    }
ID: 487_518
ClassID: 487
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java
Name: org.apache.camel.component.cxf.jaxws.CxfEndpoint.resolvePropertyPlaceholders(String str)
    protected String resolvePropertyPlaceholders(String str) {
        try {
            if (getCamelContext() != null) {
                return getCamelContext().resolvePropertyPlaceholders(str);
            } else {
                return str;
            }
        } catch (Exception ex) {
            throw RuntimeCamelException.wrapRuntimeCamelException(ex);
        }
    }
Pair #4051 Negative (Non-Clone)
ID: 412_446
ClassID: 412
File: systems/camel-java/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbRestBindingJaxbDataFormatFactory.java
Name: org.apache.camel.converter.jaxb.JaxbRestBindingJaxbDataFormatFactory.setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder)
    private void setAdditionalConfiguration(RestConfiguration config, String prefix, PropertyBindingSupport.Builder builder) {
        if (config.getDataFormatProperties() != null && !config.getDataFormatProperties().isEmpty()) {
             
             
            Map<String, Object> copy = new HashMap<>();

             
             
             
            for (Map.Entry<String, Object> entry : config.getDataFormatProperties().entrySet()) {
                String key = entry.getKey();
                String copyKey;
                boolean known = isKeyKnownPrefix(key);
                if (known) {
                     
                    copyKey = key.substring(prefix.length());
                } else {
                     
                    copyKey = key;
                }
                if (!known || key.startsWith(prefix)) {
                    copy.put(copyKey, entry.getValue());
                }
            }

            builder.withProperties(copy);
        }
    }
ID: 464_494
ClassID: 464
File: systems/camel-java/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
Name: org.apache.camel.component.dhis2.internal.Dhis2ApiCollection.getEndpointConfiguration(Dhis2ApiName apiName)
    public Dhis2Configuration getEndpointConfiguration(Dhis2ApiName apiName) {
        Dhis2Configuration result = null;
        switch (apiName) {
            case POST:
                result = new Dhis2PostEndpointConfiguration();
                break;
            case RESOURCE_TABLES:
                result = new Dhis2ResourceTablesEndpointConfiguration();
                break;
            case GET:
                result = new Dhis2GetEndpointConfiguration();
                break;
            case DELETE:
                result = new Dhis2DeleteEndpointConfiguration();
                break;
            case PUT:
                result = new Dhis2PutEndpointConfiguration();
                break;
        }
        return result;
    }
Pair #4052 Negative (Non-Clone)
ID: 1958_1598
ClassID: 1958
File: systems/camel-java/components/camel-ai/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbProducer.java
Name: org.apache.camel.component.pinecone.PineconeVectorDbProducer.queryById(Exchange exchange)
    private void queryById(Exchange exchange) throws Exception {
        final Message in = exchange.getMessage();

         
        String indexName = getEndpoint().getConfiguration().getIndexName();

        if (in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class) != null) {
            indexName = in.getHeader(PineconeVectorDbHeaders.INDEX_NAME, String.class);
        }

        int topK = in.getHeader(PineconeVectorDbHeaders.QUERY_TOP_K, Integer.class);
        Index index = this.client.getIndexConnection(indexName);

        String indexId = in.getHeader(PineconeVectorDbHeaders.INDEX_ID, String.class);

         
        String namespace = in.getHeader(PineconeVectorDbHeaders.NAMESPACE, String.class);
        Struct filter = in.getHeader(PineconeVectorDbHeaders.QUERY_FILTER, Struct.class);
        boolean includeValues = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_VALUES, Boolean.class);
        boolean includeMetadata = (in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class) == null)
                ? false : in.getHeader(PineconeVectorDbHeaders.QUERY_INCLUDE_METADATA, Boolean.class);

        QueryResponseWithUnsignedIndices result
                = index.queryByVectorId(topK, indexId, namespace, filter, includeValues, includeMetadata);

        populateQueryResponse(result, exchange);
    }
ID: 980_835
ClassID: 980
File: systems/camel-java/components/camel-sql/src/generated/java/org/apache/camel/component/sql/stored/template/generated/ParseException.java
Name: org.apache.camel.component.sql.stored.template.generated.ParseException.add_escapes(String str)
  static String add_escapes(String str) {
      StringBuilder retval = new StringBuilder();
      char ch;
      for (int i = 0; i < str.length(); i++) {
        switch (str.charAt(i))
        {
           case '\b':
              retval.append("\\b");
              continue;
           case '\t':
              retval.append("\\t");
              continue;
           case '\n':
              retval.append("\\n");
              continue;
           case '\f':
              retval.append("\\f");
              continue;
           case '\r':
              retval.append("\\r");
              continue;
           case '\"':
              retval.append("\\\"");
              continue;
           case '\'':
              retval.append("\\\'");
              continue;
           case '\\':
              retval.append("\\\\");
              continue;
           default:
              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                 String s = "0000" + Integer.toString(ch, 16);
                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
              } else {
                 retval.append(ch);
              }
              continue;
        }
      }
      return retval.toString();
   }
Pair #4053 Negative (Non-Clone)
ID: 2452_1946
ClassID: 2452
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
Name: org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.getDependencies(Object kamelet)
    private static List<String> getDependencies(Object kamelet) throws Exception {
        List<String> answer = new ArrayList<>();
        Method m = kamelet.getClass().getMethod("getSpec");
        Object spec = ObjectHelper.invokeMethod(m, kamelet);
        m = spec.getClass().getMethod("getDependencies");
        @SuppressWarnings("unchecked")
        List<Object> list = (List<Object>) ObjectHelper.invokeMethod(m, spec);
        if (list != null && !list.isEmpty()) {
            for (var en : list) {
                String t = en.toString();
                t = StringHelper.removeLeadingAndEndingQuotes(t);
                answer.add(t);
            }
        }
        return answer.isEmpty() ? null : answer;
    }
ID: 2178_1715
ClassID: 2178
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CamelCommandHelper.java
Name: org.apache.camel.dsl.jbang.core.common.CamelCommandHelper.extractState(int status)
    public static String extractState(int status) {
        if (status <= 4) {
            return "Starting";
        } else if (status == 5) {
            return "Running";
        } else if (status == 6) {
            return "Suspending";
        } else if (status == 7) {
            return "Suspended";
        } else if (status == 8) {
            return "Terminating";
        } else if (status == 9) {
            return "Terminated";
        } else {
            return "Terminated";
        }
    }
Pair #4054 Negative (Non-Clone)
ID: 3246_2580
ClassID: 3246
File: systems/camel-java/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFluentProducerTemplateFactoryBean.java
Name: org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean.getObject()
    public FluentProducerTemplate getObject() throws Exception {
        CamelContext context = getCamelContext();
        if (defaultEndpoint != null) {
            Endpoint endpoint = context.getEndpoint(defaultEndpoint);
            if (endpoint == null) {
                throw new IllegalArgumentException("No endpoint found for URI: " + defaultEndpoint);
            } else {
                template = new DefaultFluentProducerTemplate(context);
                template.setDefaultEndpoint(endpoint);
            }
        } else {
            template = new DefaultFluentProducerTemplate(context);
        }

         
        if (maximumCacheSize != null) {
            template.setMaximumCacheSize(maximumCacheSize);
        }

         
        ServiceHelper.startService(template);
        return template;
    }
ID: 2483_2039
ClassID: 2483
File: systems/camel-java/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextTop.java
Name: org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop.extractPlatform(ProcessHandle ph, JsonObject runtime)
    private String extractPlatform(ProcessHandle ph, JsonObject runtime) {
        String answer = runtime != null ? runtime.getString("platform") : null;
        if ("Camel".equals(answer)) {
             
            String cl = ph.info().commandLine().orElse("");
            if (cl.contains("main.CamelJBang run")) {
                answer = "JBang";
            }
        }
        return answer;
    }
Pair #4055 Negative (Non-Clone)
ID: 909_789
ClassID: 909
File: systems/camel-java/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsProducer.java
Name: org.apache.camel.component.google.functions.GoogleCloudFunctionsProducer.generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
    private void generateUploadUrl(CloudFunctionsServiceClient client, Exchange exchange)
            throws InvalidPayloadException {
        GenerateUploadUrlResponse response = null;
        if (getConfiguration().isPojoRequest()) {
            GenerateUploadUrlRequest request = exchange.getIn().getMandatoryBody(GenerateUploadUrlRequest.class);
            response = client.generateUploadUrl(request);
        } else {
            LocationName locationName = LocationName.of(getConfiguration().getProject(),
                    getConfiguration().getLocation());
            GenerateUploadUrlRequest request = GenerateUploadUrlRequest.newBuilder().setParent(locationName.toString())
                    .build();
            response = client.generateUploadUrl(request);
        }
        Message message = getMessageForResponse(exchange);
        message.setHeader(GoogleCloudFunctionsConstants.RESPONSE_OBJECT, response);
        message.setBody(response.getUploadUrl());
    }
ID: 2575_2162
ClassID: 2575
File: systems/camel-java/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
Name: org.apache.camel.maven.packaging.GenerateDataTypeTransformerMojo.execute()
    public void execute() throws MojoExecutionException, MojoFailureException {
        if ("pom".equals(project.getPackaging())) {
            return;
        }

        buildDir = new File(project.getBuild().getDirectory());

        if (resourcesOutputDir == null) {
            resourcesOutputDir = new File(project.getBasedir(), "src/generated/resources");
        }

        Index index = PackagePluginUtils.readJandexIndexIgnoreMissing(project, getLog());
        if (index == null) {
            return;
        }

        List<DataTypeTransformerModel> models = new ArrayList<>();
        List<AnnotationInstance> annotations = index.getAnnotations(DATA_TYPE_ANNOTATION);
        annotations.forEach(a -> {
            DataTypeTransformerModel model = new DataTypeTransformerModel();

            String currentClass = a.target().asClass().name().toString();
            boolean deprecated
                    = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
            model.setClassName(currentClass);
            model.setDeprecated(deprecated);
            model.setName(annotationValue(a, "name"));
            model.setFrom(annotationValue(a, "from"));
            model.setTo(annotationValue(a, "to"));
            model.setDescription(annotationValue(a, "description"));
            models.add(model);
        });
        models.sort(Comparator.comparing(DataTypeTransformerModel::getName));

        if (!models.isEmpty()) {
            try {
                StringJoiner names = new StringJoiner(" ");
                for (var model : models) {
                    names.add(model.getName());

                    JsonObject jo = asJsonObject(model);
                    String json = jo.toJson();
                    json = Jsoner.prettyPrint(json, 2);
                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                    boolean updated = updateResource(resourcesOutputDir.toPath(),
                            "META-INF/services/org/apache/camel/transformer/" + fn,
                            json + NL);
                    if (updated) {
                        getLog().info("Updated transformer json: " + model.getName());
                    }
                }

                 
                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
                int count = models.size();
                String properties = createProperties(project, "transformers", names.toString());
                updateResource(camelMetaDir.toPath(), "transformer.properties", properties);
                getLog().info("Generated transformer.properties containing " + count + " Camel "
                              + (count > 1 ? "transformers: " : "transformer: ") + names);
            } catch (Exception e) {
                throw new MojoExecutionException(e);
            }
        }
    }
Pair #4056 Negative (Non-Clone)
ID: 3213_2489
ClassID: 3213
File: systems/camel-java/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsolesLoader.java
Name: org.apache.camel.impl.console.DefaultDevConsolesLoader.loadDevConsoles(boolean force)
    public Collection<DevConsole> loadDevConsoles(boolean force) {
        Collection<DevConsole> answer = new ArrayList<>();

        if (force) {
             
            ServiceHelper.stopService(devConsoleResolver);
            ServiceHelper.startService(devConsoleResolver);
        }
        try {
            LOG.trace("Searching for {} dev consoles", META_INF_SERVICES);
            Collection<Resource> resources = resolver.findResources(META_INF_SERVICES + "/*");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Discovered {} dev consoles from classpath scanning", resources.size());
            }
            for (Resource resource : resources) {
                LOG.trace("Resource: {}", resource);
                if (acceptResource(resource)) {
                    String id = extractId(resource);
                    LOG.trace("Loading DevConsole: {}", id);
                    DevConsole dc = devConsoleResolver.resolveDevConsole(id);
                    if (dc != null) {
                        LOG.debug("Loaded DevConsole: {}/{}", dc.getGroup(), dc.getId());
                        answer.add(dc);
                    }
                }
            }
        } catch (Exception e) {
            LOG.warn("Error during scanning for custom dev-consoles on classpath due to: {}. This exception is ignored.",
                    e.getMessage());
        }

        return answer;
    }
ID: 128_120
ClassID: 128
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceProcessor.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceProcessor.next()
    public List<Processor> next() {
        if (!hasNext()) {
            return null;
        }
        List<Processor> answer = new ArrayList<>();
        answer.add(processor);
        if (fallbackProcessor != null) {
            answer.add(fallbackProcessor);
        }
        return answer;
    }
Pair #4057 Negative (Non-Clone)
ID: 1125_959
ClassID: 1125
File: systems/camel-java/components/camel-huawei/camel-huaweicloud-frs/src/main/java/org/apache/camel/component/huaweicloud/frs/FaceRecognitionProducer.java
Name: org.apache.camel.component.huaweicloud.frs.FaceRecognitionProducer.performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations)
    private void performFaceVerificationOperation(Exchange exchange, ClientConfigurations clientConfigurations) {
        updateFaceVerificationConfigurations(exchange, clientConfigurations);
        SdkResponse result;
        switch (clientConfigurations.getInputSourceType()) {
            case BASE64:
                FaceCompareBase64Req base64ReqBody
                        = new FaceCompareBase64Req().withImage1Base64(clientConfigurations.getImageBase64())
                                .withImage2Base64(clientConfigurations.getAnotherImageBase64());
                result = this.frsClient.compareFaceByBase64(new CompareFaceByBase64Request().withBody(base64ReqBody));
                break;
            case URL:
                FaceCompareUrlReq urlReqBody = new FaceCompareUrlReq().withImage1Url(clientConfigurations.getImageUrl())
                        .withImage2Url(clientConfigurations.getAnotherImageUrl());
                result = this.frsClient.compareFaceByUrl(new CompareFaceByUrlRequest().withBody(urlReqBody));
                break;
            default:
                try (FileInputStream image1InputStream = new FileInputStream(clientConfigurations.getImageFilePath());
                     FileInputStream image2InputStream = new FileInputStream(clientConfigurations.getAnotherImageFilePath())) {
                    CompareFaceByFileRequestBody fileReqBody = new CompareFaceByFileRequestBody()
                            .withImage1File(image1InputStream, getFileName(clientConfigurations.getImageFilePath()))
                            .withImage2File(image2InputStream, getFileName(clientConfigurations.getAnotherImageFilePath()));
                    result = this.frsClient.compareFaceByFile(new CompareFaceByFileRequest().withBody(fileReqBody));
                } catch (IOException e) {
                    throw new IllegalArgumentException(
                            String.format("Image file paths are invalid: %s, %s", clientConfigurations.getImageFilePath(),
                                    clientConfigurations.getAnotherImageFilePath()));
                }
        }
        exchange.getMessage().setBody(result);
    }
ID: 3264_2626
ClassID: 3264
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java
Name: org.apache.camel.support.cache.DefaultConsumerCache.receive(Endpoint endpoint, long timeout)
    public Exchange receive(Endpoint endpoint, long timeout) {
        if (camelContext.isStopped()) {
            throw new RejectedExecutionException(CONTEXT_IS_STOPPED);
        }

        LOG.debug("<<<< {}", endpoint);
        PollingConsumer consumer = null;
        try {
            consumer = acquirePollingConsumer(endpoint);
            return consumer.receive(timeout);
        } finally {
            if (consumer != null) {
                releasePollingConsumer(endpoint, consumer);
            }
        }
    }
Pair #4058 Negative (Non-Clone)
ID: 997_849
ClassID: 997
File: systems/camel-java/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Consumer.java
Name: org.apache.camel.component.olingo2.Olingo2Consumer.poll()
    protected int poll() throws Exception {
         
        final Map<String, Object> args = new HashMap<>(endpoint.getEndpointProperties());

         
        endpoint.interceptProperties(args);
        interceptProperties(args);

        try {
             
            final CountDownLatch latch = new CountDownLatch(1);
            final Object[] result = new Object[1];
            final Exception[] error = new Exception[1];

            args.put(Olingo2Endpoint.RESPONSE_HANDLER_PROPERTY, new Olingo2ResponseHandler<Object>() {
                @Override
                public void onResponse(Object response, Map<String, String> responseHeaders) {
                    if (resultIndex != null) {
                        response = resultIndex.filterResponse(response);
                    }

                    result[0] = response;
                    latch.countDown();
                }

                @Override
                public void onException(Exception ex) {
                    error[0] = ex;
                    latch.countDown();
                }

                @Override
                public void onCanceled() {
                    error[0] = new RuntimeCamelException("OData HTTP Request cancelled");
                    latch.countDown();
                }
            });

            doInvokeMethod(args);

             
             
            latch.await();

            if (error[0] != null) {
                throw error[0];
            }

             
             
             
             
            if (result[0] == null || result[0] instanceof ODataFeed && (((ODataFeed) result[0]).getEntries().isEmpty())) {
                return 0;
            } else {
                return ApiConsumerHelper.getResultsProcessed(this, result[0], isSplitResult());
            }
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw RuntimeCamelException.wrapRuntimeCamelException(e);
        } catch (Exception t) {
            throw RuntimeCamelException.wrapRuntimeCamelException(t);
        }
    }
ID: 220_245
ClassID: 220
File: systems/camel-java/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/transform/CosmosDbCloudEventDataTypeTransformer.java
Name: org.apache.camel.component.azure.cosmosdb.transform.CosmosDbCloudEventDataTypeTransformer.transform(Message message, DataType fromType, DataType toType)
    public void transform(Message message, DataType fromType, DataType toType) {
        final Map<String, Object> headers = message.getHeaders();

        CloudEvent cloudEvent = CloudEvents.v1_0;
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_ID, message.getExchange().getExchangeId());
        headers.putIfAbsent(CloudEvent.CAMEL_CLOUD_EVENT_VERSION, cloudEvent.version());
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TYPE, "org.apache.camel.event.azure.cosmosdb.changes");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE,
                "org.apache.camel.event.azure.cosmosdb.changefeed");

        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_SUBJECT, "org.apache.camel.event.azure.cosmosdb.changefeed");
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_TIME, cloudEvent.getEventTime(message.getExchange()));
        headers.put(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, CloudEvent.TEXT_PLAIN_MIME_TYPE);
    }
Pair #4059 Negative (Non-Clone)
ID: 1032_881
ClassID: 1032
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowHelper.java
Name: org.apache.camel.component.undertow.UndertowHelper.createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
    public static HttpString createMethod(Exchange exchange, UndertowEndpoint endpoint, boolean hasPayload)
            throws URISyntaxException {
         
         
        String queryString = exchange.getIn().getHeader(UndertowConstants.HTTP_QUERY, String.class);
         
        String uriString = exchange.getIn().getHeader(UndertowConstants.HTTP_URI, String.class);
         
        try {
            uriString = exchange.getContext().resolvePropertyPlaceholders(uriString);
        } catch (Exception e) {
            throw new RuntimeExchangeException("Cannot resolve property placeholders with uri: " + uriString, exchange, e);
        }
        if (uriString != null) {
            URI uri = new URI(uriString);
            queryString = uri.getQuery();
        }
        if (queryString == null) {
            queryString = endpoint.getHttpURI().getRawQuery();
        }

         
        HttpString answer;
        String m = exchange.getIn().getHeader(UndertowConstants.HTTP_METHOD, String.class);
        if (m != null) {
             
             
            m = m.toUpperCase();
            answer = new HttpString(m);
        } else if (queryString != null) {
             
            answer = Methods.GET;
        } else {
             
            answer = hasPayload ? Methods.POST : Methods.GET;
        }

        return answer;
    }
ID: 1185_1009
ClassID: 1185
File: systems/camel-java/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java
Name: org.apache.camel.dataformat.tarfile.TarFileDataFormat.createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength)
    private void createTarEntries(TarArchiveOutputStream tos, String filepath, Long filelength) throws IOException {
        Iterator<Path> elements = Paths.get(filepath).iterator();
        StringBuilder sb = new StringBuilder(256);

        while (elements.hasNext()) {
            Path path = elements.next();
            String element = path.toString();
            Long length = filelength;

             
             
            if (elements.hasNext()) {
                element += "/";
                length = 0L;
            }

             
            TarArchiveEntry entry = new TarArchiveEntry(sb + element);
            entry.setSize(length);
            tos.putArchiveEntry(entry);

            sb.append(element);
        }
    }
Pair #4060 Negative (Non-Clone)
ID: 1063_920
ClassID: 1063
File: systems/camel-java/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignerProcessor.java
Name: org.apache.camel.component.xmlsecurity.processor.XmlSignerProcessor.build()
        public XmlSignatureProperties.Input build() {
            return new XmlSignatureProperties.Input() {

                @Override
                public XMLSignatureFactory getSignatureFactory() {
                    return signatureFactory;
                }

                @Override
                public String getSignatureAlgorithm() {
                    return signatureAlgorithm;
                }

                @Override
                public Node getParent() {
                    return parent;
                }

                @Override
                public Node getMessageBodyNode() {
                    return messageBodyNode;
                }

                @Override
                public Message getMessage() {
                    return message;
                }

                @Override
                public KeyInfo getKeyInfo() {
                    return keyInfo;
                }

                @Override
                public String getContentDigestAlgorithm() {
                    return contentDigestAlgorithm;
                }

                @Override
                public String getSignatureId() {
                    return signatureId;
                }

                @Override
                public String getContentReferenceUri() {
                    return contentReferenceUri;
                }

                @Override
                public SignatureType getSignatureType() {
                    return signatureType;
                }

                @Override
                public String getPrefixForXmlSignatureNamespace() {
                    return prefixForXmlSignatureNamespace;
                }

            };
        }
ID: 124_112
ClassID: 124
File: systems/camel-java/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
Name: org.apache.camel.component.microprofile.faulttolerance.FaultToleranceReifier.configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config)
    private void configureExecutorService(FaultToleranceProcessor processor, FaultToleranceConfigurationCommon config) {
        if (config.getThreadOffloadExecutorService() != null) {
            String ref = config.getThreadOffloadExecutorService();
            boolean shutdownThreadPool = false;
            ExecutorService executorService = lookupByNameAndType(ref, ExecutorService.class);
            if (executorService == null) {
                executorService = lookupExecutorServiceRef("CircuitBreaker", definition, ref);
                shutdownThreadPool = true;
            }
            processor.setExecutorService(executorService);
            processor.setShutdownExecutorService(shutdownThreadPool);
        }
    }
Pair #4061 Negative (Non-Clone)
ID: 2639_2281
ClassID: 2639
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultProducerTemplate.createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue)
    protected Processor createBodyAndPropertyProcessor(final Object body, final String property, final Object propertyValue) {
        return new Processor() {
            public void process(Exchange exchange) {
                exchange.setProperty(property, propertyValue);
                Message in = exchange.getIn();
                in.setBody(body);
            }
        };
    }
ID: 927_805
ClassID: 927
File: systems/camel-java/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java
Name: org.apache.camel.component.google.pubsublite.GooglePubsubLiteConsumer.doStop()
    protected void doStop() throws Exception {
        super.doStop();
        localLog.info("Stopping Google PubSub Lite consumer for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());

        synchronized (subscribers) {
            if (!subscribers.isEmpty()) {
                localLog.info("Stopping subscribers for {}/{}", endpoint.getProjectId(), endpoint.getDestinationName());
                subscribers.forEach(Subscriber::stopAsync);
            }
        }

        if (executor != null) {
            if (getEndpoint() != null && getEndpoint().getCamelContext() != null) {
                getEndpoint().getCamelContext().getExecutorServiceManager().shutdownGraceful(executor);
            } else {
                executor.shutdownNow();
            }
        }
        executor = null;
    }
Pair #4062 Negative (Non-Clone)
ID: 2529_2101
ClassID: 2529
File: systems/camel-java/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
Name: org.apache.camel.main.download.DependencyDownloaderDataFormatResolver.accept(String name)
    private boolean accept(String name) {
        if (stubPattern == null) {
            return true;
        }

        boolean stubbed = false;
        for (String n : stubPattern.split(",")) {
            if (n.startsWith("dataformat:")) {
                stubbed |= PatternHelper.matchPattern(name, n.substring(11));
            }
        }
        return !stubbed;
    }
ID: 211_233
ClassID: 211
File: systems/camel-java/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
Name: org.apache.camel.component.servlet.ServletEndpoint.getHttpBinding()
    public HttpBinding getHttpBinding() {
         
        if (this.binding == null) {
             
            if (isAttachmentMultipartBinding()) {
                this.binding = new AttachmentHttpBinding();
            } else {
                this.binding = new DefaultHttpBinding();
            }
            this.binding.setFileNameExtWhitelist(getFileNameExtWhitelist());
            this.binding.setTransferException(isTransferException());
            this.binding.setMuteException(isMuteException());
            this.binding.setLogException(isLogException());
            if (getComponent() != null) {
                this.binding.setAllowJavaSerializedObject(getComponent().isAllowJavaSerializedObject());
            }
            this.binding.setHeaderFilterStrategy(getHeaderFilterStrategy());
            this.binding.setEagerCheckContentAvailable(isEagerCheckContentAvailable());
            this.binding.setMapHttpMessageBody(isMapHttpMessageBody());
            this.binding.setMapHttpMessageHeaders(isMapHttpMessageHeaders());
            this.binding.setMapHttpMessageFormUrlEncodedBody(isMapHttpMessageFormUrlEncodedBody());
        }
        return this.binding;
    }
Pair #4063 Negative (Non-Clone)
ID: 1693_1419
ClassID: 1693
File: systems/camel-java/components/camel-spring-parent/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
Name: org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer.parseUri(String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional, boolean nestedPlaceholder)
    public String parseUri(
            String text, PropertiesLookup properties, boolean fallback, boolean keepUnresolvedOptional,
            boolean nestedPlaceholder)
            throws IllegalArgumentException {
         
        String answer = parser.parseUri(text, properties, fallback, keepUnresolvedOptional, nestedPlaceholder);

         
        if (answer != null) {
            answer = springResolvePlaceholders(answer, properties);
        } else {
            answer = springResolvePlaceholders(text, properties);
        }
        return answer;
    }
ID: 554_529
ClassID: 554
File: systems/camel-java/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/feature/CXFMessageDataFormatFeature.java
Name: org.apache.camel.component.cxf.feature.CXFMessageDataFormatFeature.resetPartTypes(BindingOperationInfo bop)
    private void resetPartTypes(BindingOperationInfo bop) {
        if (bop.isUnwrapped()) {
            bop = bop.getWrappedOperation();
        }
        if (bop.isUnwrappedCapable()) {
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOperationInfo().getOutput());
            resetPartTypeClass(bop.getWrappedOperation().getInput());
            resetPartTypeClass(bop.getWrappedOperation().getOutput());
        }
        resetPartTypeClass(bop.getOperationInfo().getInput());
        resetPartTypeClass(bop.getOperationInfo().getOutput());
        resetPartTypeClass(bop.getInput());
        resetPartTypeClass(bop.getOutput());
    }
Pair #4064 Negative (Non-Clone)
ID: 239_295
ClassID: 239
File: systems/camel-java/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/vault/PubsubReloadTriggerTask.java
Name: org.apache.camel.component.google.secret.manager.vault.PubsubReloadTriggerTask.matchSecret(String name)
    protected boolean matchSecret(String name) {
        Set<String> set = new HashSet<>();
        if (secrets != null) {
            Collections.addAll(set, secrets.split(","));
        }
        if (propertiesFunction != null) {
            set.addAll(propertiesFunction.getSecrets());
        }

        for (String part : set) {
            boolean result = name.contains(part) || PatternHelper.matchPattern(name, part);
            LOG.trace("Matching secret id: {}={} -> {}", name, part, result);
            if (result) {
                return true;
            }
        }

        return false;
    }
ID: 23_35
ClassID: 23
File: systems/camel-java/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsQueueEndpoint.java
Name: org.apache.camel.component.jms.JmsQueueEndpoint.JmsQueueEndpoint(String uri, JmsComponent component, String destination, JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy)
    public JmsQueueEndpoint(String uri, JmsComponent component, String destination,
                            JmsConfiguration configuration, QueueBrowseStrategy queueBrowseStrategy) {
        super(uri, component, destination, false, configuration);
        setDestinationType("queue");
        if (queueBrowseStrategy == null) {
            this.queueBrowseStrategy = createQueueBrowseStrategy();
        } else {
            this.queueBrowseStrategy = queueBrowseStrategy;
        }
    }
Pair #4065 Negative (Non-Clone)
ID: 234_286
ClassID: 234
File: systems/camel-java/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
Name: org.apache.camel.component.file.remote.FtpConsumer.doStart()
    protected void doStart() throws Exception {
         
         
        boolean startScheduler = isStartScheduler();
        setStartScheduler(false);
        try {
            super.doStart();
            if (endpoint.isAutoCreate() && hasStartingDirectory()) {
                String dir = endpoint.getConfiguration().getDirectory();
                LOG.debug("Auto creating directory: {}", dir);
                try {
                    connectIfNecessary();
                    operations.buildDirectory(dir, true);
                } catch (GenericFileOperationFailedException e) {
                     
                    LOG.warn(
                            "Error auto creating directory: " + dir + " due " + e.getMessage() + ". This exception is ignored.",
                            e);
                }
            }
        } finally {
            if (startScheduler) {
                setStartScheduler(true);
                startScheduler();
            }
        }
    }
ID: 1976_1615
ClassID: 1976
File: systems/camel-java/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
Name: org.apache.camel.component.djl.model.timeseries.CustomForecastingPredictor.process(Exchange exchange)
    public void process(Exchange exchange) throws Exception {
        if (exchange.getIn().getBody() instanceof TimeSeriesData) {
            TimeSeriesData input = exchange.getIn().getBody(TimeSeriesData.class);
            Forecast result = predict(exchange, input);
            exchange.getIn().setBody(result);
        } else {
            throw new RuntimeCamelException("Data type is not supported. Body should be TimeSeriesData");
        }
    }
Pair #4066 Negative (Non-Clone)
ID: 2640_2284
ClassID: 2640
File: systems/camel-java/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
Name: org.apache.camel.impl.engine.DefaultFluentProducerTemplate.withVariables(Map<String, Object> variables)
    public FluentProducerTemplate withVariables(Map<String, Object> variables) {
        DefaultFluentProducerTemplate clone = checkCloned();

        if (clone.processorSupplier != null) {
            throw new IllegalArgumentException("Cannot use both withVariables and withProcessor with FluentProducerTemplate");
        }

        Map<String, Object> map = clone.variables;
        if (map == null) {
            map = new LinkedHashMap<>();
            clone.variables = map;
        }
        map.putAll(variables);
        return clone;
    }
ID: 3268_2636
ClassID: 3268
File: systems/camel-java/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java
Name: org.apache.camel.support.scan.DefaultPackageScanResourceResolver.doFind(String packageName, ClassLoader classLoader, Set<Resource> resources, String subPattern, Predicate<String> filter)
    protected void doFind(
            String packageName,
            ClassLoader classLoader,
            Set<Resource> resources,
            String subPattern,
            Predicate<String> filter) {

        Enumeration<URL> urls = getUrls(packageName, classLoader);
        if (urls == null) {
            return;
        }

        while (urls.hasMoreElements()) {
            URL url = null;
            try {
                url = urls.nextElement();
                LOG.trace("URL from classloader: {}", url);

                url = customResourceLocator(url);

                String urlPath = parseUrlPath(url);
                if (urlPath == null) {
                    continue;
                }

                LOG.trace("Scanning for resources in: {} matching pattern: {}", urlPath, subPattern);

                File file = new File(urlPath);
                if (file.isDirectory()) {
                    LOG.trace("Loading from directory using file: {}", file);
                    loadImplementationsInDirectory(subPattern, packageName, file, resources, filter);
                } else {
                    InputStream stream;
                    if (urlPath.startsWith("http:") || urlPath.startsWith("https:")
                            || urlPath.startsWith("sonicfs:")
                            || isAcceptableScheme(urlPath)) {
                         
                         
                        LOG.trace("Loading from jar using url: {}", urlPath);
                        URL urlStream = URI.create(urlPath).toURL();
                        URLConnection con = urlStream.openConnection();
                         
                        con.setUseCaches(false);
                        stream = con.getInputStream();
                    } else {
                        LOG.trace("Loading from jar using file: {}", file);
                        stream = new FileInputStream(file);
                    }
                    loadImplementationsInJar(url, packageName, subPattern, stream, urlPath, resources, filter);
                }
            } catch (IOException e) {
                 
                LOG.debug("Cannot read entries in url: {}", url, e);
            }
        }
    }
Pair #4067 Negative (Non-Clone)
ID: 257_335
ClassID: 257
File: systems/camel-java/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConsumer.java
Name: org.apache.camel.component.ironmq.IronMQConsumer.processBatch(Queue<Object> exchanges)
    public int processBatch(Queue<Object> exchanges) throws Exception {
        int total = exchanges.size();

        for (int index = 0; index < total && isBatchAllowed(); index++) {
             
            final Exchange exchange = ObjectHelper.cast(Exchange.class, exchanges.poll());
             
            exchange.setProperty(ExchangePropertyKey.BATCH_INDEX, index);
            exchange.setProperty(ExchangePropertyKey.BATCH_SIZE, total);
            exchange.setProperty(ExchangePropertyKey.BATCH_COMPLETE, index == total - 1);

             
            pendingExchanges = total - index - 1;

             
             
            if (!getEndpoint().getConfiguration().isBatchDelete()) {
                exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                    final String reservationId
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_RESERVATION_ID, String.class);
                    final String messageid
                            = ExchangeHelper.getMandatoryHeader(exchange, IronMQConstants.MESSAGE_ID, String.class);

                    public void onComplete(Exchange exchange) {
                        processCommit(exchange, messageid, reservationId);
                    }

                    public void onFailure(Exchange exchange) {
                        processRollback(exchange);
                    }

                    @Override
                    public String toString() {
                        return "IronMQConsumerOnCompletion";
                    }
                });
            }

            LOG.trace("Processing exchange [{}]...", exchange);

            getProcessor().process(exchange);
        }

        return total;
    }
ID: 1217_1042
ClassID: 1217
File: systems/camel-java/components/camel-stripe/src/main/java/org/apache/camel/component/stripe/StripeProducer.java
Name: org.apache.camel.component.stripe.StripeProducer.performOperation(Exchange exchange, StripeOperation operation, String method)
    private Object performOperation(Exchange exchange, StripeOperation operation, String method) throws Exception {
        switch (operation) {
            case CHARGES:
                return handleCharges(exchange, method);
            case CUSTOMERS:
                return handleCustomers(exchange, method);
            case PAYMENT_INTENTS:
                return handlePaymentIntents(exchange, method);
            case PAYMENT_METHODS:
                return handlePaymentMethods(exchange, method);
            case REFUNDS:
                return handleRefunds(exchange, method);
            case SUBSCRIPTIONS:
                return handleSubscriptions(exchange, method);
            case INVOICES:
                return handleInvoices(exchange, method);
            case PRODUCTS:
                return handleProducts(exchange, method);
            case PRICES:
                return handlePrices(exchange, method);
            case BALANCE_TRANSACTIONS:
                return handleBalanceTransactions(exchange, method);
            default:
                throw new IllegalArgumentException("Unsupported operation: " + operation);
        }
    }
Pair #4068 Negative (Non-Clone)
ID: 1424_1270
ClassID: 1424
File: systems/camel-java/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ServerConnection.java
Name: org.apache.camel.component.as2.api.AS2ServerConnection.unlisten(String requestUri)
    public void unlisten(String requestUri) {
        if (listenerService != null) {
            lock.lock();
            try {
                listenerService.unregisterHandler(requestUri);
                consumerConfigurations.remove(requestUri);
            } finally {
                lock.unlock();
            }
        }
    }
ID: 1034_885
ClassID: 1034
File: systems/camel-java/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpression.java
Name: org.apache.camel.component.undertow.cloud.UndertowServiceExpression.doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme)
    protected String doBuildCamelEndpointUri(String host, Integer port, String contextPath, String scheme) {
        if (!ObjectHelper.equal(scheme, "undertow")) {
            return super.doBuildCamelEndpointUri(host, port, contextPath, scheme);
        }

        String answer = scheme + ":http://" + host;
        if (port != null) {
            answer = answer + ":" + port;
        }

        if (contextPath != null) {
            if (!contextPath.startsWith("/")) {
                contextPath = "/" + contextPath;
            }

            answer += contextPath;
        }

        return answer;
    }